AnonSec Shell
Server IP : 162.214.74.102  /  Your IP : 216.73.216.192
Web Server : Apache
System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64
User : lrsys ( 1015)
PHP Version : 5.6.40
Disable Function : exec,passthru,shell_exec,system
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/lrsys/www/lrsys_apps/leo/application/plugins/module_helpdesk/assets/libs/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/lrsys/www/lrsys_apps/leo/application/plugins/module_helpdesk/assets/libs/Helper.php
<?php

/**
 * Created by PhpStorm.
 * User: juelis
 * Date: 12/03/17
 * Time: 20:25
 */
class Helper
{
    /** @var array $_L */
    protected $_L;

    /**
     * Helper constructor.
     * @param array|null $_L
     */
    public function __construct($_L = null)
    {
        $this->_L = $_L;
    }

    /**
     * @param int $status
     * @return string
     */
    public function formatOSStatus($status)
    {
        switch ($status) {
            case 'Atendence':
                return "<span class=\"badge badge-default\">{$this->_L['module_helpdesk status Atendence']}</span>";
            case 'Closed':
                return "<span class=\"badge badge-success\">{$this->_L['module_helpdesk status Closed']}</span>";
            case 'Open':
                return "<span class=\"badge badge-danger\">{$this->_L['module_helpdesk status Open']}</span>";
        }

        return '';
    }
    
    /**
     * @param int $status
     * @return string
     */
    public function formatSlaValue($status, $value)
    {
        switch ($status) {
            case 'Atendence':
                return "<span class=\"badge badge-default\">".$value."</span>";
            case 'Closed':
                return "<span class=\"badge badge-success\">".$value."</span>";
            case 'Open':
                return "<span class=\"badge badge-danger\">".$value."</span>";
        }

        return '';
    }

    /**
     * @param string $date
     * @return string
     */
    public function transformDatePtToEn($date)
    {
        $d = DateTime::createFromFormat('d/m/Y H:i:s', $date);
        return $d->format('Y-m-d H:i:s');
    }

    /**
     * @param string $date
     * @return string
     */
    public function transformDateEnToPt($date)
    {
        $d = DateTime::createFromFormat('Y-m-d H:i:s', $date);
        return $d->format('d/m/Y H:i:s');
    }
    
    /**
     * @param string $date
     * @return string
     */
    public function transformSla($dateInit, $dateEnd = null)
    {
        if($dateEnd)
        {
            $dateEndAux = new DateTime($dateEnd);
        }
        else
        {
            $dateEndAux = new DateTime();
        }
       
        // Pego somente horário comercial
        $dateInitAux    = new DateTime($dateInit);
        
        $dateInitDiff    = new DateTime($dateInitAux->format('Y-m-d'));
        $diff = $dateEndAux->diff($dateInitDiff);
        
        
        $dataAux = new DateTime($dateInit);
        
        // Pego as Horas e Minutos
        $hora_init = intval($dateInitAux->format('H'));
        $min_init = intval($dateInitAux->format('i'));
        
        $hora_end = intval($dateEndAux->format('H'));
        $min_end = intval($dateEndAux->format('i'));
        
        
        $sla = 0;
        if($diff->d == 0)
        {
            if($dataAux->format('D') != 'Sun' && $dataAux->format('D') != 'Sat')
            {
                if($hora_end >= 18)
                {
                    $hora_end = 18;
                    $min_end = 0;
                }

                if($hora_init < 8)
                {
                    $hora_init = 8;
                    $min_init = 0;
                }

                // Converto os horários em minutos
                $min_end_total = $hora_end * 60 + $min_end; 
                $min_init_total = $hora_init * 60 + $min_init;
                        
                if($hora_init < 12)
                {   
                    if($hora_end >= 12 && $hora_end < 14)
                    {
                         
                        $intervalo = $min_end_total - (12*60);
                        $sla = 12*60 - $min_init_total;
                    }
                    elseif($hora_end >= 14)
                    {
                        $sla = $min_end_total - $min_init_total - 120;
                    }
                    else
                    {
                        $sla = $min_end_total - $min_init_total;
                    }
                }
                elseif($hora_init >= 12 && $hora_init < 14)
                {
                    $hora_init  = 14;
                    $min_init   = 0;
                    
                    if($hora_end < 14)
                    {
                        $hora_end   = 14;
                        $min_end    = 0;
                    }
                    
                    // Converto os horários em minutos
                    $min_end_total = $hora_end * 60 + $min_end; 
                    $min_init_total = $hora_init * 60 + $min_init;
                    $sla = $min_end_total - $min_init_total;
                }
                else
                {
                    $sla = $min_end_total - $min_init_total;
                }
            }
        }
        else
        {
            if($dataAux->format('D') != 'Sun' && $dataAux->format('D') != 'Sat')
            {
                $hora_end = 18;
                $min_end = 0;
                if($hora_init <= 8)
                {
                    $hora_init = 8;
                    $min_init = 0;
                }
                
                // Converto os horários em minutos
                $min_end_total = $hora_end * 60 + $min_end; 
                $min_init_total = $hora_init * 60 + $min_init;
                
                if($hora_init < 12)
                {   
                    $sla = $min_end_total - $min_init_total - 120;
                }
                elseif($hora_init >= 12 && $hora_init < 14)
                {
                    $hora_init = 14;
                    $min_init = 0;
                    $min_init_total = $hora_init * 60 + $min_init;
                    $sla = $min_end_total - $min_init_total;
                }
                else
                {
                    $sla = $min_end_total - $min_init_total;
                }
            }
            
            
            $count_day = 0;
            for ($i = 1; $i <= $diff->d; $i++)
            {
                $count_day++;
                $dataAux->add(new DateInterval('P1D'));
                if($count_day == $diff->d)
                {
                    if($dataAux->format('D') != 'Sun' && $dataAux->format('D') != 'Sat')
                    {   
                        $hora_end = intval($dateEndAux->format('H'));
                        $min_end = intval($dateEndAux->format('i'));
                        
                        if($hora_end >= 8)
                        {
                            if($hora_end >= 18)
                            {
                                $hora_end = 18;
                                $min_end = 0;
                            }

                            $hora_init = 8;
                            $min_init = 0;
                            
                            // Converto os horários em minutos
                            $min_end_total = $hora_end * 60 + $min_end; 
                            $min_init_total = $hora_init * 60 + $min_init;
                            
                            if($hora_end >= 12 && $hora_end < 14)
                            {
                                $sla += 12*60 - $min_init_total;
                            }
                            elseif($hora_end >= 14)
                            {
                                $sla += $min_end_total - $min_init_total - 120;
                            }
                            else
                            {
                                $sla += $min_end_total - $min_init_total;
                            }
                        }
                    }
                }
                else
                {
                    if($dataAux->format('D') != 'Sun' && $dataAux->format('D') != 'Sat')
                    {
                        $sla += 8*60;
                    }
                }

            }
        }
//        $sla =  $dateEnd - strtotime($dateInit);
        
//        return number_format($sla/3600,0)."h"." ".  number_format(($sla%3600)/60,0)."m";
        return (number_format($sla/60,0))."h"." ".($sla%60)."m";
    }
    
    /**
     * @param string $date
     * @return string
     */
    public function transformSlaInt($date, $dateEnd = null)
    {
        if($dateEnd)
        {
            $dateEnd = strtotime($dateEnd);
        }
        else
        {
            $dateEnd = time();
        }
        $sla = $dateEnd - strtotime($date);
        return number_format($sla/3600,0);
    }
    
    
    /**
     * @param string $ticket_id
     * @return string
     */
    public function getRequester($ticket_id)
    {
        $ticket = ORM::for_table('module_helpdesk_tickets')
            ->table_alias('t')
            ->select('t.*')
            ->select('r.fullname')
            ->join('sys_users', 't.requester_id = r.id', 'r')
            ->where('t.id', $ticket_id)
            ->find_one();
        return $ticket->fullname;
    }
    
    /**
     * @param string $ticket_id
     * @return array
     */
    public function getSerial($client_id)
    {
        $return = ORM::for_table('crm_customfields')
            ->table_alias('c')
            ->select('r.fvalue', 'serial')
            ->join('crm_customfieldsvalues', 'r.fieldid = c.id AND r.relid = '.$client_id, 'r')
            ->where('c.fieldname', 'serial_numbers')
            ->find_one();
        if(isset($return->serial))
        {
            $return = explode(',', $return->serial);
        }
        
//        var_dump($return);
        return $return;
    }
    
    
    public function getAccounts($type = null, $cost_center_id = null) {
        
        $d = ORM::for_table('crm_accounts')
                ->table_alias('c')
                ->select('c.*');
        
        if($cost_center_id > 0)
        {
            $d->where('cost_center_id', $cost_center_id);
        }
        if (!empty($type)) {
            $d->join('crm_accounts_groups', array('c.id', '=', 'ag.crm_accounts_id'), 'ag')
                    ->join('crm_groups', array('g.id', '=', 'ag.crm_group_id'), 'g')
                    ->where('g.gname', $type);
        }
        
        


        $crms = $d->find_many();

        $data = array();
        
        
        foreach ($crms as $c) 
        {
            $data[] = array(
                'id' => $c->id,
                'name' => $c->account,
                'text' => $c->account,
                'cpf_cnpj' => $c->cpf_cnpj,
                'account' => $c->account,
                'company' => $c->company,
                'kinf_of_person' => $c->kind_of_person,
                'foreign_doc_identification' => $c->foreign_doc_identification,
            );
        }
        return $data;
    }
    
    
    public function getProducts($category = null) 
    {
        
        $data = array();

        
        $d = ORM::for_table('sys_items')
                ->table_alias('i')
                ->select('i.*')
                ->left_outer_join('sys_items_category', array('is.id', '=', 'i.category_id'), 'is')
                ->order_by_asc('i.description');
        if ($category) {
            $d->where('is.name', $category);
        }
        $prods = $d->find_many();

        foreach ($prods as $p) {
            $data[] = array(
                'id' => $p->id,
                'text' => $p->item_number . " | " . $p->description,
                'price' => $p->sales_price
            );
        }
        return $data;
    }
    
    /**
     * @param string $value
     * @return array
     */
    public function getComponentes($value)
    {
        $arr_value = explode('|', $value);
        $item = trim($arr_value[0]).' | '.trim($arr_value[1]);
        $quantidade = isset($arr_value[2])? preg_replace('/QTD: /', '', trim($arr_value[2])):'';
        $problema = isset($arr_value[3])? preg_replace('/PROBLEMA: /', '', trim($arr_value[3])):'';
        $solucao = isset($arr_value[4])? preg_replace('/SOLUÇÃO: /', '', trim($arr_value[4])):'';
        $obs = isset($arr_value[5])? preg_replace('/OBS: /', '', trim($arr_value[5])):'';
        $return = array('item' => $item,
                        'quantidade' => $quantidade,
                        'problema' => $problema,
                        'solucao' => $solucao,
                        'obs' => $obs);
        return $return;
    }
    
    
    /**
     * @param string $value
     * @return array
     */
    public function getComponentesOrcamentos($value)
    {
        $arr_value = explode('|', $value);
        $item = trim($arr_value[0]).' | '.trim($arr_value[1]);
        $quantidade = isset($arr_value[2])? preg_replace('/QTD: /', '', trim($arr_value[2])):'';
        $valor = isset($arr_value[3])? preg_replace('/VALOR: /', '', trim($arr_value[3])):'';
        $obs = isset($arr_value[4])? preg_replace('/OBS: /', '', trim($arr_value[4])):'';
        $return = array('item' => $item,
                        'quantidade' => $quantidade,
                        'valor' => $valor,
                        'obs' => $obs);
        return $return;
    }
    
}

Anon7 - 2022
AnonSec Team