| Server IP : 188.114.96.2 / Your IP : 104.23.197.231 Web Server : Apache/2.4.59 (Debian) System : Linux EDL-STRETCH 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64 User : edlftp ( 1002) PHP Version : 7.4.33 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/nicolasj/www/sms.formationlangues.be/application/models/ |
Upload File : |
<?php
class Product_transaction_model extends CI_Model
{
const STATES = [
'unassigned' => 0,
'assigned' => 1
];
public function get_entry(int $id): ?stdClass
{
if ($id <= 0) {
return null;
}
$result = $this->db->get_where('product_transactions', ['id' => $id])->result();
return (!empty($result) && !empty($result[0])) ? $result[0] : null;
}
public function get_entry_unassigned(int $customer_id, int $course_id) : ?stdClass
{
if ($customer_id <= 0 || $course_id <= 0) {
return null;
}
$result = $this->db->get_where('product_transactions', [
'customer_id' => $customer_id,
'course_id' => $course_id,
'state' => self::STATES['unassigned'],
])->result();
return (!empty($result) && !empty($result[0])) ? $result[0] : null;
}
public function get_all_unassigned(int $customer_id) : array
{
if ($customer_id <= 0) {
return [];
}
$result = $this->db->get_where('product_transactions', [
'customer_id' => $customer_id,
'state' => self::STATES['unassigned'],
])->result();
return $result;
}
public function insert_entry(array $data): bool
{
return $this->db->insert('product_transactions', $data);
}
public function update_entry(int $id, array $fields): bool
{
if ($id <= 0 || empty($fields)) {
return false;
}
return $this->db->update('product_transactions', $fields, ['id' => $id]);
}
public function add_products_transaction(int $transaction_id, int $customer_id, array $products_cart, int $assigned_to)
{
foreach ($products_cart as $product) {
$product_info = $product['data'];
if (!empty($product_info)) {
for ($i = 0; $i < (int) $product['qty']; $i++) {
$this->insert_entry([
'course_id' => (int) $product_info['Course_ID'],
'customer_id' => (int) $customer_id,
'transaction_id' => $transaction_id,
'assigned_to' => null,
'state' => self::STATES['unassigned'],
]);
}
}
}
}
}