Bikin hit counter untuk dunlut di Joomla

Yo, dhanu is back.

Neh mo cerita, kemaren aku bikin script bwat hit count untuk item yang di-download melalui link di Joomla. Sebenarnya g benar2 murni lewat joomla. Mengingat itu cuman pake iframe di dalam post-nya joomla.

OK, makanya sekarang aku mo memperlihatkan step by step-nya bwat bikin hit count untuk joomla (simple ver).

Buka editor kesayangan Anda (aku pake notepad++ ato pake Dreamweaver ver Bajakan). Pertama kita bwat file konfigurasi, masukkan isi file kayak gini :

 #################################################
 #    Author : Dhanu Sugeng Zulanto
 #    e-mail : jkdevil[at]gmail[dot]com
 #    weblog : devil4live.wordpress.com
 #################################################
 # setting variable global

 $global['path-item']=""; //path t4 item2 dtaruh - yg mo di-dunlut - jgn lupa slash jika merupakan folder
 $global['prefix-item']="hit_"; //prefix t4 itung hit dunlut item, misal hit-namaitem.ext
 $global['type-item']="application/pdf"; // type item, apakah pdf atau bukan

 function openHits($path){ // $path wajib sudah diberi prefix
 $path = $path.".txt"; // file hit dibikin txt
 $file = fopen($path, 'r');
 $text = fread($file,1000);
 return $text;
 }

 function addHits($path, $text){ // $path wajib diberi prefix, $text yg mau diisikan
 $path = $path.".txt"; // file hit dibikin txt
 $file = fopen($path,'w');

 if(!fwrite($file, $text)){
 return die('error write to text file');
 }
 }

Jangan lupa di-kasih tanda <? ma ?> di sesudah dan sebelum, ha6x kayak lagi minum obat aj. Abis disimpen dengan nama apa aja, terserah Anda, mau yang aneh2 ato yang biasa aj. Aku nyimpen dengan nama “anune.conf.php” ( Hi hi hi … 😀 ).

Woke, file konfigurasi undah kita bwat, sekarang kita bikin file bwat ngedunlut-nya, biar bisa nge-pake file konfigurasi tadi. Buat file baru, trus isikan dengan :

 #################################################
 #    Author : Dhanu Sugeng Zulanto
 #    e-mail : jkdevil[at]gmail[dot]com
 #    weblog : devil4live.wordpress.com
 #################################################

 include "anune.conf.php";// masukin file konfigurasi yang kita bwat tadi

 if($_REQUEST['id']==""){
 header("location:"); // terserah mo di-isi apa kalo ternyata idnya kosong
 }elseif(!file_exists($global['path-item'].$_REQUEST['id'])){
 header("location:index.php");// terserah mo diisi apa kalo file yang maw d-dunlut kaga ad 
 }else{
 // nulis hit-nya.
 $hit=openHits($global['path-item'].$global['prefix-item'].$_REQUEST['id']);
 if(empty($hit)){$hit=0;} // kalo kosong jadiin 0
 $hit=$hit+1; // tambahin 1 setiap dunlut
 addHits($global['path-item'].$global['prefix-item'].$_REQUEST['id'],$hit);
 // output bakal sama dengan tipe-item yang di deklarasikan
 header('Content-type: '.$global['type-item']);
 // kluaran filenamenya. Plus wajib dunlut.
 header('Content-Disposition: attachment; filename="'.$_REQUEST['id'].'"');
 // the file source ada pada path aslinya
 readfile($global['path-item'].$_REQUEST['id']);
 }

Jangan lupa lagi ma tanda pembuka dan penutup php-nya. Trus simpen ja file ini dengan nama apa lah… kalo aku pake nama “dunlut.ajib.coy.php”. Lantas kita siapkan file untuk melakukan pemanggilan keduanya. Yaitu file untuk memperlihatkan hit dan link bwat nge-dunlutnya. Bisa pake contoh berikut :

<?
 include "anune.conf.php";
?>
<html>
<head><title>Uji coba donlot item</title></head>
<body>
<?
 $hit=openHits($global['path-item']."file.ext");
 if(empty($hit)){$hit=0;}
?>
     <a href="dunlut.ajib.coy.php?id=file.ext" title="download link for file ext">
      file ext - download here
     </a> (<?=$hit?> hits)</body>
</html>

Ups, jangan lupa untuk membuat file txt untuk tiap file yang akan di-dunlut. Plus tambahan prefix di depannya. Contohnya :

tadi di var $global['prefix-item'], dikasih nilai "hit_", berarti jika file yang kita akan dipake buat nyimpen hit adalah "hit_file.ext.txt", txt karena termudah untuk buat. Trus fungsi $global['type-item'] bwat nentuin tipe2 item yang akan kita download. Per-type karena karena jika ga aku kasih kayak gitu, ntar ada hit yang error. Tapi kalo temen2 punya cara bikin hit count mudah tolong aku juga diajari. Masih pemula je.

itu ja dulu, Maaf2 kalo ad kesalahan ato kekurangan. O y, ad script bwat generate file txt tsb secara masal. Bisa liat di post selanjutnya.

Yo!! Dhanu.

Advertisements