-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathreport_table.php
104 lines (95 loc) · 3.33 KB
/
report_table.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Ippanel table implementation.
*
* @package local_ippanel
* @copyright 2021 Geraked
* @author Rabist
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class report_table extends table_sql
{
/**
* Constructor
* @param int $uniqueid all tables have to have a unique id, this is used
* as a key when storing table properties like sort order in the session.
*/
function __construct($uniqueid)
{
parent::__construct($uniqueid);
// Define the list of columns to show.
$columns = ['bulkid', 'originator', 'message', 'status', 'cost', 'payback', 'rcnt', 'pcnt', 'time'];
$this->define_columns($columns);
// Define the titles of columns to show in header.
$headers = [
get_string('id', 'local_ippanel'),
get_string('originator', 'local_ippanel'),
get_string('message_context', 'local_ippanel'),
get_string('status'),
get_string('cost', 'local_ippanel'),
get_string('payback', 'local_ippanel'),
get_string('rcnt', 'local_ippanel'),
get_string('pcnt', 'local_ippanel'),
get_string('time'),
];
$this->define_headers($headers);
}
/**
* This function is called for each data row to allow processing of the value.
*
* @param object $values Contains object with all the values of record.
*
*/
function col_bulkid($values)
{
if ($this->is_downloading()) {
return $values->bulkid;
} else {
return "<a href class='bid-links' data-toggle='modal' data-target='#report-modal' data-whatever='$values->bulkid'>$values->bulkid</a> <a href class='ref-links' data-whatever='$values->bulkid'><i class='fa fa-refresh'></i></a>";
}
}
/**
* This function is called for each data row to allow processing of the value.
*
* @param object $values Contains object with all the values of record.
*
*/
function col_cost($values)
{
return number_format($values->cost);
}
/**
* This function is called for each data row to allow processing of the value.
*
* @param object $values Contains object with all the values of record.
*
*/
function col_payback($values)
{
return number_format($values->payback);
}
/**
* This function is called for each data row to allow processing of the value.
*
* @param object $values Contains object with all the values of record.
*
*/
function col_time($values)
{
return userdate($values->time, '%H:%M - %Y/%m/%d');
}
}