shell bypass 403
<div :wire:key="student-list"> <style> .QA_section.check_box_table .QA_table .table thead tr th:first-child, .QA_table .table tbody td:first-child { padding-left: 25px !important; } .QA_section.check_box_table .QA_table .table thead tr th { padding-left: 12px !important; } .QA_section .QA_table .table thead th { vertical-align: middle !important; } </style> <div> <div @if (is_numeric($refresh)) wire:poll.{{ $refresh }}ms @elseif(is_string($refresh)) @if ($refresh === '.keep-alive' || $refresh === 'keep-alive') wire:poll.keep-alive @elseif($refresh === '.visible' || $refresh === 'visible') wire:poll.visible @else wire:poll="{{ $refresh }}" @endif @endif class="container-fluid p-0" > @include('livewire.partials.org_attendance_class_filter',compact('categories')) <div class="d-md-flex justify-content-between mb_15"> <div class="d-md-flex"> <div> @include('livewire.partials.org_position_select',compact('positions')) </div> </div> <div class="d-md-flex"> <div> @include('livewire.partials.org_student_status_select',compact('positions')) </div> </div> <div class="d-md-flex"> <div> @include('livewire-tables::bootstrap-4.includes.column-select') </div> </div> <div class="d-md-flex"> <div class=" btn-group"> @if($this->selectedRowsQuery->count()!=0) <a class="primary-btn radius_30px mr-10 fix-gr-bg mt-10 pl-3 pr-3 pt_10 line-height-14" href="#" id="deleteStudent"><i class="ti-trash"></i>{{__('common.Delete')}}</a> @endif <a class="primary-btn radius_30px mr-10 fix-gr-bg mt-10 pl-3 pr-3 pt_10 line-height-14Modules/Org/Resources/views/material/index.blade.php" href="#" wire:click="export()"><i class="ti-download"></i>{{__('org.Export')}}</a> <div class="mr-10 fix-gr-bg mt-10 pr-3 "> </div> </div> </div> </div> <div class="row justify-content-center" wire:ignore> <div class="col-xl-4 col-lg-5 col-md-6 mb_25"> <div class="white_box chart_box mt_30"> <h4>{{__('org-subscription.Attendance Rate')}}</h4> <div class=""> <div class="chartjs-size-monitor"> <div class="chartjs-size-monitor-expand"> <div class=""></div> </div> <div class="chartjs-size-monitor-shrink"> <div class=""></div> </div> </div> </div> <canvas id="course_overview2" width="250" height="250"></canvas> </div> </div> <div class="col-xl-4 col-lg-5 col-md-6 mb_25"> <div class="white_box chart_box mt_30"> <h4>{{__('org-subscription.Pass Rate')}}</h4> <div class=""> <div class="chartjs-size-monitor"> <div class="chartjs-size-monitor-expand"> <div class=""></div> </div> <div class="chartjs-size-monitor-shrink"> <div class=""></div> </div> </div> </div> <canvas id="course_overview" width="250" height="250"></canvas> </div> </div> </div> @include('livewire-tables::bootstrap-4.includes.table') @include('livewire-tables::bootstrap-4.includes.pagination') <input type="hidden" id="showAddBtn" value=" {{$showAddBtn?'1':'0'}}"> <input type="hidden" id="org_chart" value=" {{$org_chart}}"> <input type="hidden" id="selectedRow" value=" {{$this->selectedRowsQuery->count()}}"> @if($this->selectedRowsQuery->count()!=0) @foreach($this->selectedRowsQuery->get() as $row) <input type="hidden" name="selectedRowsId[]" value="{{$row->id}}"> @endforeach @endif </div> <input type="hidden" id="passRate" value="{{$pass_rate['pass']}}"> <input type="hidden" id="failRate" value="{{$pass_rate['fail']}}"> <input type="hidden" id="absenceRate" value="{{$attendance_rate['absence']}}"> <input type="hidden" id="lateRate" value="{{$attendance_rate['late']}}"> <input type="hidden" id="onTimeRate" value="{{$attendance_rate['on_time']}}"> </div> <script src="{{asset('public/backend/vendors/chartlist/Chart.min.js')}}"></script> <script> let attendance_rate_chart = new Chart(document.getElementById('course_overview2').getContext('2d'), { type: 'doughnut', data: { labels: ['{{__('org-subscription.Absence')}}', '{{__('org-subscription.Late')}}', '{{__('org-subscription.On Time')}}'], datasets: [{ label: '{{__('org-subscription.Pass Rate')}}', data: [$('#absenceRate').val(), $('#lateRate').val(), $('#onTimeRate').val()], backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 159, 64, 0.2)' ], borderColor: [ 'rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 159, 64, 1)' ], borderWidth: 1 }] }, options: { scales: { xAxes: [{ gridLines: { display: false } }], yAxes: [{ ticks: { beginAtZero: true, display: false, }, gridLines: { display: false } }], }, } }); let pass_rate_chart = new Chart(document.getElementById('course_overview').getContext('2d'), { type: 'doughnut', data: { labels: ['{{__('org-subscription.Pass')}}', '{{__('org-subscription.Fail')}}'], datasets: [{ label: '{{__('org-subscription.Attendance Rate')}}', data: [$('#passRate').val(), $('#failRate').val()], // data: [10, 110], backgroundColor: [ 'rgba(54, 162, 235, 0.2)', 'rgba(255, 99, 132, 0.2)' ], borderColor: [ 'rgba(54, 162, 235, 1)', 'rgba(255, 99, 132, 1)', ], borderWidth: 1 }] }, options: { scales: { xAxes: [{ gridLines: { display: false } }], yAxes: [{ ticks: { beginAtZero: true, display: false, }, gridLines: { display: false } }], } } }); function attendance_rate() { attendance_rate_chart.data.datasets[0].data[2] = $('#onTimeRate').val(); attendance_rate_chart.data.datasets[0].data[1] = $('#lateRate').val(); attendance_rate_chart.data.datasets[0].data[0] = $('#absenceRate').val(); attendance_rate_chart.update(); } function pass_rate() { pass_rate_chart.data.datasets[0].data[1] = $('#failRate').val(); pass_rate_chart.data.datasets[0].data[0] = $('#passRate').val(); pass_rate_chart.update(); } window.addEventListener('contentChanged', () => { attendance_rate(); pass_rate(); }); document.addEventListener('livewire:load', () => { // attendance_rate(); // pass_rate(); @this.updateChart(); }); $('select').on('change', function (e) { @this.updateChart(); }); </script> </div>