|
Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /var/www/laciasmara.com/public_html/shop/application/models/ |
Upload File : |
<?php
class Spin_model extends CI_Model
{
public function get_all_prizes()
{
return $this->db->get('spin_wheel_prizes')->result();
}
public function get_random_prize()
{
// Ambil semua hadiah
$prizes = $this->get_all_prizes();
// Hitung peluang total
$total_probability = array_sum(array_column($prizes, 'prize_percentage'));
$random_number = mt_rand(0, $total_probability * 100) / 100; // Nilai random untuk menentukan hadiah
foreach ($prizes as $prize) {
if ($random_number <= $prize->prize_percentage) {
return $prize->prize_name;
}
$random_number -= $prize->prize_percentage;
}
return 'Tidak Dapat Hadiah'; // Default jika tidak dapat hadiah
}
public function save_log($prize_name)
{
$data = [
'prize_name' => $prize_name,
'ip_address' => $this->input->ip_address(),
];
if (!$this->db->insert('spin_wheel_logs', $data)) {
// Log the error
log_message('error', 'Database insert error: ' . $this->db->last_query());
return false; // Return false if insert fails
}
return true; // Return true on success
}
public function is_ip_used($ip_address)
{
$this->db->where('ip_address', $ip_address);
return $this->db->get('spin_wheel_logs')->num_rows() > 0;
}
}