| Server IP : 188.114.96.2 / Your IP : 104.23.243.201 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
if (!defined('BASEPATH')) {
exit('No direct script access allowed');
}
class Shop_model extends CI_Model
{
public function __construct()
{
parent::__construct();
//$this->_ci =& get_instance();
$this->load->model('crud_model');
$this->load->model('course_model');
$this->load->database();
}
public function clear_cache()
{
$this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
$this->output->set_header('Pragma: no-cache');
}
public function get_cat_id($cat_title)
{
$query = $this->db->get_where('course_category', array("Cat_URL" => $cat_title));
$query = $query->result_array();
return $query[0]['ID'];
}
public function get_courses($filters = "all")
{
$data = array();
$courses = $this->course_model->get_all_entries_with_products();
if ($filters != "all") {
if (is_array($filters)) {
$arrayFilters = $filters;
} else {
$arrayFilters = explode(',', $filters);
}
foreach ($courses as $key => $course) {
if ($course['Archived'] == 0) {
$selected = true;
$current_cat = explode(',', $course['Course_Cat']);
foreach ($arrayFilters as $key => $filter) {
if (!is_numeric($filter)) {
$filter = $this->get_cat_id($filter);
}
if (!in_array($filter, $current_cat)) {
$selected = false;
}
}
if ($selected == true) {
if ($course['Course_Promo'] == 0) {
$course['Price_HTVA'] = $course['Course_Price'];
$course['Price_TVA'] = $course['Course_Price'] * 1.21;
$course['Price_HTVA_Promo'] = 0;
$course['Price_TVA_Promo'] = 0;
} else {
$promo = (($course['Course_Price'] * $course['Course_Promo']) / 100);
$course['Price_HTVA'] = $course['Course_Price'];
$course['Price_TVA'] = $course['Course_Price'] * 1.21;
$course['Price_HTVA_Promo'] = ($course['Course_Price'] - $promo);
$course['Price_TVA_Promo'] = ($course['Course_Price'] - $promo) * 1.21;
}
$data[] = $course;
}
}
}
return $data;
} else { // no filters
foreach ($courses as $key => $course) {
if ($course['Archived'] == 0) {
if ($course['Course_Promo'] == 0) {
$course['Price_HTVA'] = $course['Course_Price'];
$course['Price_TVA'] = $course['Course_Price'] * 1.21;
$course['Price_HTVA_Promo'] = 0;
$course['Price_TVA_Promo'] = 0;
} else {
$promo = (($course['Course_Price'] * $course['Course_Promo']) / 100);
$course['Price_HTVA'] = $course['Course_Price'];
$course['Price_TVA'] = $course['Course_Price'] * 1.21;
$course['Price_HTVA_Promo'] = ($course['Course_Price'] - $promo);
$course['Price_TVA_Promo'] = ($course['Course_Price'] - $promo) * 1.21;
}
$data[] = $course;
}
}
return $data;
}
}
public function get_course($id)
{
$query = "SELECT * FROM `course_new` c
LEFT JOIN `course_product` cp ON cp.Course_ID = c.ID
WHERE Course_ID = " . (int) $id . "";
$courses = $this->db->query($query)->result_array();
$data = array();
foreach ($courses as $key => $course) {
if ($course['Course_Promo'] == 0) {
$course['Price_HTVA'] = $course['Course_Price'];
$course['Price_TVA'] = $course['Course_Price'] * 1.21;
$course['Price_HTVA_Promo'] = 0;
$course['Price_TVA_Promo'] = 0;
} else {
$promo = (($course['Course_Price'] * $course['Course_Promo']) / 100);
$course['Price_HTVA'] = $course['Course_Price'];
$course['Price_TVA'] = $course['Course_Price'] * 1.21;
$course['Price_HTVA_Promo'] = ($course['Course_Price'] - $promo);
$course['Price_TVA_Promo'] = ($course['Course_Price'] - $promo) * 1.21;
}
// Call DB in loop, refactor this
$course['Course_Disponibility'] = ($course['Course_Availability'] - $this->crud_model->get_students_count($course['Course_ID']));
$data[] = $course;
}
return !empty($data) ? $data[0] : null;
}
public function get_course2($id)
{
$query = $this->db->get_where('course_product', array('Course_ID' => $id));
$course = $query->result_array()[0];
$data = array();
//return $this->crud_model->get_course_society_id(318);
//return $this->crud_model->get_course_society_id($course['Course_ID']);
if ($this->crud_model->get_course_society_id($course['Course_ID']) == '2') {
//Propulse
if ($course['Course_Promo'] == 0) {
$course['Price_HTVA'] = 0;
$course['Price_TVA'] = round($course['Course_Price'], 2);
$course['Price_HTVA_Promo'] = 0;
$course['Price_TVA_Promo'] = 0;
} else {
$promo = (($course['Course_Price'] * $course['Course_Promo']) / 100);
$course['Price_HTVA'] = 0;
$course['Price_TVA'] = round($course['Course_Price'], 2);
$course['Price_HTVA_Promo'] = 0;
$course['Price_TVA_Promo'] = round(($course['Course_Price'] - $promo), 2);
}
} else {
if ($course['Course_Promo'] == 0) {
$course['Price_HTVA'] = round($course['Course_Price'], 2);
$course['Price_TVA'] = round(($course['Course_Price'] * 1.21), 2);
$course['Price_HTVA_Promo'] = 0;
$course['Price_TVA_Promo'] = 0;
} else {
$promo = (($course['Course_Price'] * $course['Course_Promo']) / 100);
$course['Price_HTVA'] = round($course['Course_Price'], 2);
$course['Price_TVA'] = round(($course['Course_Price'] * 1.21), 2);
$course['Price_HTVA_Promo'] = round(($course['Course_Price'] - $promo), 2);
$course['Price_TVA_Promo'] = round((($course['Course_Price'] - $promo) * 1.21), 2);
}
}
$course['Course_Disponibility'] = ($course['Course_Availability'] - $this->crud_model->get_students_count($course['Course_ID']));
return json_encode(array($course));
//$data[0]['debug'] = 'debug';
//return $courses;
}
public function save_data($sql)
{
$this->db->insert('course_product', $this->crud_model->cleanArray($sql));
$id = $this->db->insert_id();
return $id;
}
public function edit_data($sql, $id)
{
$this->db->set($sql);
$this->db->where('Course_ID', $id);
$this->db->update('course_product');
}
public function get_data($id)
{
$query = $this->db->get_where('course_product', array("Course_ID" => $id));
$query = $query->result_array();
return $query;
}
public function get_product($id)
{
$query = $this->db->get_where('course_product', array("ID" => $id));
$query = $query->result_array();
$query[0]['Course_Disponibility'] = ($query[0]['Course_Availability'] - $this->crud_model->get_students_count($query[0]['Course_ID']));
return $query;
}
public function get_product_id($id)
{
$query = $this->db->get_where('course_product', array("ID" => $id));
$query = $query->result_array();
return $query[0]['Course_ID'];
}
public function get_filters()
{
/*
[root:0]=> array(
[cat:1]=> array()
[cat:2]=>array()
)
*/
$this->db->order_by('Cat_Parent', 'ASC');
$query = $this->db->get('course_category');
$cats = $query->result_array();
$filters = $this->buildTree($cats, 0);
return $filters;
}
public function buildTree(array $elements, $parentId = 0)
{
$branch = array();
foreach ($elements as $element) {
if ($element['Cat_Parent'] == $parentId) {
$children = $this->buildTree($elements, $element['ID']);
if ($children) {
$element['children'] = $children;
}
$branch[] = $element;
}
}
return $branch;
}
}