Intrusion Exploit
Server: LiteSpeed
System: Linux cisadane.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: lenf4658 (1805)
PHP: 8.4.19
Disabled: NONE
Upload Files
File: /home/lenf4658/voteman/app/Charts/PerkembanganCalonPemilihChart.php
<?php

namespace App\Charts;

use App\Models\DaftarPemilih;
use ArielMejiaDev\LarapexCharts\LarapexChart;
use Flowframe\Trend\Trend;
use Flowframe\Trend\TrendValue;

class PerkembanganCalonPemilihChart
{
    protected $chart;

    public function __construct(LarapexChart $chart)
    {
        $this->chart = $chart;
    }

    public function build()
    {
        $data = Trend::query(DaftarPemilih::where('is_calon', true))
            ->between(
                start: now()->startOfYear(),
                end: now()->endOfYear(),
            )
            ->perMonth()
            ->count();

        return $this->chart->areaChart()
            ->setTitle('Perkembangan Calon Pemilih')
            ->setColors(['#6366f1'])
            ->addData('Jumlah Rekrutmen', $data->map(fn (TrendValue $value) => $value->aggregate)->toArray())
            ->setXAxis($data->map(fn (TrendValue $value) => $this->namaBulan(intval(substr($value->date, 5, 2))))->toArray());
    }

    public function namaBulan($month)
    {
        // membuat array bulan
        $months = array(
            1 => "Jan",
            2 => "Feb",
            3 => "Mar",
            4 => "Apr",
            5 => "Mei",
            6 => "Jun",
            7 => "Jul",
            8 => "Agu",
            9 => "Sep",
            10 => "Okt",
            11 => "Nov",
            12 => "Des"
        );

        return $months[$month];
    }
}