shell bypass 403

GrazzMean Shell

: /home/homesquasz/rh/application/models/ [ drwx---r-x ]
Uname: Linux webm016.cluster127.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 7.4.33 [ PHP INFO ] PHP os: Linux
Server Ip: 54.36.31.145
Your Ip: 216.73.216.182
User: homesquasz (91404) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : Conge_model.php
<?php
/* 
 * Generated by CRUDigniter v3.2 
 * www.crudigniter.com
 */

class Conge_model extends CI_Model
{
    function __construct()
    {
        parent::__construct();
    }
    
    /*
     * Get conge by id
     */
    function get_conge($id)
    {
        return $this->db->get_where('conge',array('id'=>$id))->row_array();
    }

    function calculate_sum($conge){
        $sum = 0;
        $datetime1 = new DateTime($conge['datedebut']);
            $datetime2 = new DateTime($conge['datefin']);
            $this->load->model("Ecritureplanning_model");
            $countferie =$this->Ecritureplanning_model->get_count_ferie_in_periode($conge['datedebut'],$conge['datefin']);
            if (isset($conge['demijourned'])&&   isset($conge['demijournef'])){

                 if (($conge['demijourned']=="0")&&($conge['demijournef']=="0"))
                {
                    $interval = $datetime1->diff($datetime2);
                    $sum+= ($interval->d+1)-$countferie ;
                }
                elseif(($conge['demijourned']!="0")&&($conge['demijournef']!="0"))
                {
                    $interval = $datetime1->diff($datetime2);
                    $sum+= ($interval->d+1-0.5-0.5)-$countferie ;
                }
                elseif(($conge['demijourned']!="0")||($conge['demijournef']!="0"))
                {
                    $interval = $datetime1->diff($datetime2);
                    $sum+= ($interval->d+1-0.5)-$countferie ;
                }
            }else{
                $interval = $datetime1->diff($datetime2);
                $sum+= $interval->d-$countferie ;
            }
           
        return $sum;
    }

    function get_sum_conge($id)
    {
        $this->db->where('year(datedebut)','year(now())');
        $this->db->where('month(datedebut)','month(now())');
        $tab =  $this->db->get_where('conge',array('month(datedebut)'=>'month(now())','year(datedebut)'=>'year(now())', 'etat'=>1,'users_id'=>$id))->result_array();
        $sum=0;
        foreach ($tab as $d) {
            $datetime1 = new DateTime($d['datedebut']);
            $datetime2 = new DateTime($d['datefin']);
            $this->load->model("Ecritureplanning_model");
            $countferie =$this->Ecritureplanning_model->get_count_ferie_in_periode($d['datedebut'],$d['datefin']);
            if (($d['demijourned']=="0")&&($d['demijournef']=="0"))
            {
                $interval = $datetime1->diff($datetime2);
                $sum+= ($interval->d+1)-$countferie ;
            }
            elseif(($d['demijourned']!="0")&&($d['demijournef']!="0"))
            {
                $interval = $datetime1->diff($datetime2);
                $sum+= ($interval->d+1-0.5-0.5)-$countferie ;
            }
            elseif(($d['demijourned']!="0")||($d['demijournef']!="0"))
            {
                $interval = $datetime1->diff($datetime2);
                $sum+= ($interval->d+1-0.5)-$countferie ;
            }
        }
        return $sum;
    }
    function get_conge_to_pdf($id)
    {


        $this->db->select("*,(select concat(nom,' ',prenom) from users where users.id= conge.updatedby) as validator ,typeconge.libelle as typeconge, conge.id as idconge , (select concat(users.nom,' ',users.prenom) from users  where users.id=conge.interim_id) as interim, fonction.libelle as poste, conge.description as congedesc,societe.nom as depart");
        $this->db->from('conge');
        $this->db->join('typeconge', 'typeconge.id = conge.typeconge_id');
        $this->db->join('societe', 'societe.id = conge.depart_id');
        $this->db->join('users', 'users.id = conge.users_id');
        $this->db->join('affectation', 'users.id = affectation.users_id');
        $this->db->join('fonction', 'fonction.id = affectation.fonction_id');
        $this->db->where("conge.id",$id);
        $query = $this->db->get()->row_array();
        return $query;
    }
    /*
     * Get all conge count
     */
    function get_all_conge_count()
    {
        $this->db->from('conge');
        return $this->db->count_all_results();
    }

    /*
     * Get all conge
     */
    function get_all_conge($params = array(),$role=-1)
    {

        if(isset($params) && !empty($params))
        {
            $this->db->limit($params['limit'], $params['offset']);
        }
        if($role==0){
            $user= $this->session->userdata("auth");

            $this->db->where("users_id",$user["iduser"]);
        }
        if($role==0){
            $user= $this->session->userdata("auth");

            $this->db->where("users_id",$user["iduser"]);
        }
        if($role==1){
            if($params['readException']==false){
                $user= $this->session->userdata("auth");
                $this->load->model('User_model');
                $subusers = $this->User_model->get_all_users_for_responsable($user["iduser"]);
                $criteria ="";
                foreach ($subusers as $key => $value) {
                  $criteria.=" users_id=".$value["id"]." or ";
              }
              $criteria.= "users_id=".$user["iduser"];
              $this->db->where($criteria);
          }

      }
      $this->db->order_by("conge.id", "desc");
      $this->db->select("*,users.nom as name,typeconge.libelle as typeconge,conge.id as idconge ,conge.description as desc, (select concat(users.nom,' ',users.prenom) from users  where users.id=conge.interim_id) as interim");
      $this->db->from('conge');
      $this->db->join('typeconge', 'typeconge.id = conge.typeconge_id');
      $this->db->join('users', 'users.id = conge.users_id');

      $query = $this->db->get()->result_array();
      return $query;
  }
      /*
     * Get all conge by date 
     */
      function get_all_conge_by_date($datedebut, $datefin)
      {

        $this->db->where('creationdate >=',date("Y-m-d",strtotime($datedebut)));
        $this->db->where('creationdate <=',date("Y-m-d",strtotime($datefin)));
        $this->db->order_by("conge.id", "desc");
        $this->db->select("*,users.nom as name,typeconge.libelle as typeconge,conge.id as idconge ,conge.description as desc, (select concat(users.nom,' ',users.prenom) from users  where users.id=conge.interim_id) as interim");
        $this->db->from('conge');
        $this->db->join('typeconge', 'typeconge.id = conge.typeconge_id');
        $this->db->join('users', 'users.id = conge.users_id');

        $query = $this->db->get()->result_array();
        return $query;
    }  
    function get_conge_by_user($user_id)
    {

        $this->db->where('users_id',$user_id);
        $this->db->where('year(datedebut)','year(now())');
        $this->db->where('month(datedebut)','month(now())');
        $this->db->where("etat","1");
        $this->db->order_by("conge.id", "desc");
        $this->db->select("*,users.nom as name,typeconge.libelle as typeconge,conge.id as idconge ,conge.description as desc, (select concat(users.nom,' ',users.prenom) from users  where users.id=conge.interim_id) as interim");
        $this->db->from('conge');
        $this->db->join('typeconge', 'typeconge.id = conge.typeconge_id');
        $this->db->join('users', 'users.id = conge.users_id');

        $query = $this->db->get()->result_array();
        return $query;
    }   
    /*
     * function to add new conge
     */
    function add_conge($params)
    {
        $this->db->insert('conge',$params);
        return $this->db->insert_id();
    }
    
    /*
     * function to update conge
     */
    function update_conge($id,$params)
    {
        $this->db->where('id',$id);
        return $this->db->update('conge',$params);
    }
    function update_etat($id,$etat){
        $user= $this->session->userdata("auth");
        $conge = $this->get_conge($id);
        $this->load->model("User_model");

        $responsable = $this->User_model->get_user_responsable($conge["users_id"]);
        $interim=$this->User_model->get_user_interim($conge["users_id"]);
        if( ( ($user["iduser"] != $conge["users_id"] ||($user["iduser"] == $conge["users_id"] && $user["type"]==1 )) &&  ($user["iduser"] == $responsable["id"] || $user["iduser"] == $interim["id"]) ) && (isset($conge["id"]) && ($conge["isupdated"]==0) || $etat==3 )  ){
            $params=array(
                "etat"=>$etat,
                "isupdated"=>1,
                "updatedby"=>$user["iduser"]
            );
            $this->db->where('id',$id);
            return $this->db->update('conge',$params);
        }else{
            return false;
        }
        
    }
    /*
     * function to delete conge
     */
    function delete_conge($id)
    {
        return $this->db->delete('conge',array('id'=>$id));
    }

    /*
     * Pie Chart  Etat
     */
    function ChartEtat($datedebut=null,$datefin=null)
    {
        $condition = ($datedebut!=null && $datefin!=null)? " and  creationdate>=STR_TO_DATE('".date("Y-m-d",strtotime($datedebut))."', '%Y-%m-%d') and   creationdate<=STR_TO_DATE('".date("Y-m-d",strtotime($datefin))."', '%Y-%m-%d ')":"";
        $etats=array(
            '0'=>array(
                "value"=>$this->db->query("select count(etat) as number from conge where etat=0".$condition)->row_array()["number"], 
                "color"=>"#d2d6de",
                "highlight"=>"#d2d6de",
                "label"=>"En Attente"
            ),
            '1'=>array(
                "value"=>$this->db->query("select count(etat) as number from conge where etat=1".$condition)->row_array()["number"], 
                "color"=>"#00a65a",
                "highlight"=>"#00a65a",
                "label"=>"Confirmé"
            ),
            '2'=>array(
                "value"=>$this->db->query("select count(etat) as number from conge where etat=2".$condition)->row_array()["number"],
                "color"=>"#f56954",
                "highlight"=>"#f56954",
                "label"=>"Rejeté"
            ),
            '3'=>array(
                "value"=>$this->db->query("select count(etat) as number from conge where etat=3".$condition)->row_array()["number"], 
                "color"=>"#f39c12",
                "highlight"=>"#f39c12",
                "label"=>"Annulé"
            ),
        );

        
        return $etats;
    }
    
}
© 2026 GrazzMean