Modul Template Installer (beta) untuk Lokomedia Part. 2

Setelah modul installer kita berhasil, saatnya kita membuat modul uninstaller. Logikanya juga masih sederhana. Kita hanya melakukan fungsi hapus database database dan hapus folder templatenya. Untuk hapus database caranya sama dengan fungsi-fungsi hapus database lainnya. Pertama kita harus membuat link dalam tabel untuk mengarahkan file aksi_templates.php dengan act=uninstal sama seperti sebelumnya. Namun kali ini bukan berupa tombol, hanya link yang berupa text di kolom tabel aksi. Kodenya seperti ini :

<a href=\"$aksi?module=templates&act=uninstal&id=$r[id_templates]\" onClick=\"return confirm('Apakah Anda yakin untuk meng-uninstal template ini?')\">Uninstal</a>

Kemudian buka file aksi_templates.php dan lakukan penambahan kode seperti ini :

elseif ($module=='templates' AND $act=='uninstal'){
    $data=mysql_fetch_array(mysql_query("SELECT * FROM templates WHERE id_templates='$_GET[id]'"));
	$lokasi_folder = "../../../".$data['folder']."/";
	if ($data['folder']!=''){
		delete_directory($lokasi_folder);
		mysql_query("DELETE FROM templates WHERE id_templates='$_GET[id]'");
  	}
  	else{
     	mysql_query("DELETE FROM templates WHERE id_templates='$_GET[id]'");
  	}
  header('location:../../media.php?module='.$module);
}

Maksud dari kode diatas adalah kita menerjemahkan variabel letak folder template dan kemudian menghapusnya dengan menggunakan fungsi delete_directory yang diletakkan dalam file fungsi_thumb.php dalam folder ../lokomedia/config/. Dimana fungsi delete_directory tersebut mempunyai kode seperti ini.

function delete_directory($dirname) {
   if (is_dir($dirname))
      $dir_handle = opendir($dirname);
   if (!$dir_handle)
      return false;
   while($file = readdir($dir_handle)) {
      if ($file != "." && $file != "..") {
         if (!is_dir($dirname."/".$file))
            unlink($dirname."/".$file);
         else
            delete_directory($dirname.'/'.$file);    
      }
   }
   closedir($dir_handle);
   rmdir($dirname);
   return true;
}

Letakkan kode diatas jika dalam file fungsi_thumb.php belum ada. Dan yang paling penting adalah memanggil fungsi ini dengan cara mengincludekannya dalam file aksi_templates.php seperti ini.

include "../../../config/fungsi_thumb.php";

Semua source code diatas bisa didownload pada link dibawah. Jika ingin menggunakannya langsung tanpa repot-repot mengedit kode php yang berkaitan dengan template.

Download File