Uname:Linux EDL-STRETCH 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64

403WebShell
403Webshell
Server IP : 188.114.97.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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/nicolasj/www/sms.formationlangues.be/application/models/Parent_model.php
<?php

class Parent_model extends CI_Model
{
    public function get_entry(int $id, bool $add_user = false): ?stdClass
    {
        if ($id <= 0) {
            return null;
        }

        $result = $this->db->get_where('parent', ['parent_id' => $id])->result();
        if (!empty($result) && !empty($result[0])) {
            if ($add_user) {
                $this->load->model('users_model');
                $result[0]->user = $this->users_model->get_entry($id);
            }
            return $result[0];
        }

        return null;
    }

    public function update_entry(int $id, array $fields): bool
    {
        if ($id <= 0 || empty($fields)) {
            return false;
        }
        return $this->db->update('parent', $fields, ['parent_id' => $id]);
    }

    public function get_students_parent(array $student_ids): array
    {
        if (empty($student_ids)) {
            return [];
        }
        $student_list_ids = implode(',', $student_ids);
        $query = $this->db->query(
            "SELECT pu.first_name, pu.last_name, pu.email, s.student_id FROM student s
            INNER JOIN user pu ON s.parent_id = pu.user_id
            WHERE s.student_id IN ($student_list_ids)
            GROUP BY pu.user_id"
        );
        $parents = $query->result();
        $parents_tree = [];

        foreach ($parents as $p) {
            $parents_tree[(int) $p->student_id] = $p;
        }
        return $parents_tree;
    }

    public function listing_all_parents(): array
    {
        $query = $this->db->query(
            "SELECT p.*, u.first_name, u.last_name, u.email,
            GROUP_CONCAT(DISTINCT CONCAT('{ \"id\": ', c.ID, ', \"course_name\": \"', c.CourseName, '\"}') SEPARATOR ',') AS children_courses_json,
            GROUP_CONCAT(DISTINCT CONCAT('{ \"id\": ', su.user_id, ', \"first_name\": \"', su.first_name, '\", \"last_name\": \"', su.last_name, '\"}') SEPARATOR ',') AS children_json
            FROM `parent` p
            LEFT JOIN user u ON p.parent_id = u.user_id
            LEFT JOIN student s ON p.parent_id = s.parent_id
            LEFT JOIN user su ON s.student_id = su.user_id
            LEFT JOIN course_student_new cs ON s.student_id = cs.student_id
            LEFT JOIN course_new c ON cs.course_id = c.ID
            WHERE u.Archived != 1
            GROUP BY p.parent_id"
        );

        $parents = $query->result();
        foreach ($parents as &$parent) {
            $parent->children = json_decode("[{$parent->children_json}]");
            $parent->children_courses = json_decode("[{$parent->children_courses_json}]");
        }
        return $parents;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit