<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
function _tulis_f($data, $file) {
/* fungsi untuk menulis file log, di file yang telah ditentukan */
$fp = fopen($file, 'a');
//buka file, dengan atribut "a", artinya jika file ada, maka data akan dituliskan di baris terakhir, tanpa menghapus isinya dulu
fwrite($fp, $data);
// tulis file
fclose($fp);
}
function _buat_baru($user, $file) {
$CI =& get_instance();
//ini untuk mengakses fungsi/helper/libraries bawaan CI, menggunakan get_instance()
$browser = detect();
//buka fungsi detect() di bawah ini
$fp = fopen($file, "w");;
//buka file dengan atribut "w", cari sendiri artinya, ane agak lupa, gan :v :v
fwrite($fp, "Log akses dibuat untuk username : $user (pada ".date('d-m-Y h:i:s')."). IP : ".$CI->input->ip_address().", browser : ".$browser['name']." versi : ".$browser['version'].", OS : ".$browser['platform']."\r\n====================\r\n");
//tulis awalan/header log file
fclose($fp);
}
function detect() {
/* fungsi untuk mendeteksi data-data dari user yang akan ditulis log-nya */
$userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (preg_match('/opera/', $userAgent)) {
$name = 'Opera';
} elseif (preg_match('/webkit/', $userAgent)) {
$name = 'Safari/Chrome';
} elseif (preg_match('/msie/', $userAgent)) {
$name = 'Internet Explorer';
} elseif (preg_match('/mozilla/', $userAgent) && !preg_match('/compatible/', $userAgent)) {
$name = 'Mozilla Firefox';
} else {
$name = 'unrecognized';
}
if (preg_match('/.+(?:fox|it|ra|ie)[\/: ]([\d.]+)/', $userAgent, $matches)) {
$version = $matches[1];
} else {
$version = 'unknown';
}
if (preg_match('/linux/', $userAgent)) {
$platform = 'linux';
} elseif (preg_match('/macintosh|mac os x/', $userAgent)) {
$platform = 'mac';
} elseif (preg_match('/NT 7.0/i', $userAgent)) {
$platform = 'Windows 2010';
} elseif (preg_match('/NT 6.1/i', $userAgent)) {
$platform = 'Windows 7';
} elseif (preg_match('/NT 6.0/i', $userAgent)) {
$platform = 'Windows Vista';
} elseif (preg_match('/NT 5.2/i', $userAgent)) {
$platform = 'Windows Server 2003';
} elseif (preg_match('/NT 5.1/i', $userAgent)) {
$platform = 'Windows XP';
} elseif (preg_match('/NT 5.0/i', $userAgent)) {
$platform = 'Windows 2000';
} else {
$platform = '???';
}
return array(
'name' => $name,
'version' => $version,
'platform' => $platform,
'userAgent' => $userAgent
);
}