Menambahkan Visitor Counter pada SLIMS Bulian v9.6.1 [fix CSP error]

Assalamualaikum,

Kali ini sedang ngoprek Slims aka (Senayan Library Management System) , iseng mau nambahin visitor counter dari web yang sudah terkenal banget, histats.com namun akhirnya terkendala sewaktu embbed visitor counter pada footer.

Simak langkah – langkahnya sampai visitor counter histats dapat berjalan.

Yang pertama kita login dulu pada website, jika belum ada akun silahkan register.

Kemudian klik add website

isi SIte url dengan domain slims anda, judul dan deskripsi wajib diisi kemudian submit

jika sudah klik pada stats, ikojn berbentuk grafik disebelah ikon gembok

klik counter code

klik add new counter

pilih salah satu model, kemudian klik simpan

lalu klik counter id

copy kode yang muncul di bawah pada tab standard copy semua kode mulai <!– HIstats.com sampai END –>

Nah sekarang kita akan meletakkan kode visitor counter pada footer. Buka source code slims, ssh atau buka sftp pada server slims masing-masing jika masih menggunakan tema default, footer terletak pada :

/template/default/parts/footer.php

kita akan menambahkan visitor counter dibawah Tentang kami, jika ingin meletakan pada bagian alain silahkan disesuaikan, cari kode berikut :

 <div class="col-md-5 pt-8 md:pt-0">
      <h4 class="mb-4"><?= __('About Us'); ?></h4>
          <p>
            <?= $sysconf['template']['classic_footer_about_us']; ?>
         </p>

dibawah </p> tambahkan baris kode berikut disertai dengan kode histats yang tadi, sehingga seperti berikut

<br>
   <h4 class="mb-4">Penghitung Visitor Online</h4>
<!-- Histats.com  (div with counter) --><div id="histats_counter"></div>

......

<!-- Histats.com  END  -->

berikut contoh potongan kode yang saya miliki

jika sudah save file footer, lalu kita akan mengedit 1 file lagi agar visitor counter histats dapat berjalan, yaitu pada

/lib/Opac.php

cari baris

public function setCsp(array $additionalCsp = [])

komentari atau hapus baris berikut :

if (count($defaultCsp)) $this->setHeader('Content-Security-Policy', implode(';', array_merge($defaultCsp, $additionalCsp)));

dan tambahkan kode yang baru, disini kita akan mengatasi CSP dengan menambahkan domain eksternal histats dan cludflare

// Tambahkan domain eksternal yang dibutuhkan
    $extraDomains = [
        "*.histats.com",
        "*.cloudflareinsights.com"
    ];

    // Modifikasi aturan script-src jika ada
    foreach ($defaultCsp as &$rule) {
        if (strpos($rule, "script-src") === 0) {
            // Tambahkan domain tambahan ke aturan script-src
            $rule .= " " . implode(' ', $extraDomains);
        }
    }
    unset($rule); // best practice, hindari referensi tidak sengaja

    // Gabungkan CSP default dan tambahan lain yang dikirim lewat parameter
    if (count($defaultCsp)) {
        $this->setHeader(
            'Content-Security-Policy',
            implode(';', array_merge($defaultCsp, $additionalCsp))
        );
    }

sehingga kode lengkapnya seperti berikut :

oke save file tersebut dan refresh halaman utama slimsnya

voilaa, visitor counter sudah berhasil mucul

silahkan kunjungi laman slims kami https://slims.itera.ac.id/

Leave a Reply

Your email address will not be published. Required fields are marked *