403Webshell
Server IP : 37.9.174.138  /  Your IP : 216.73.216.117
Web Server : Apache
System : Linux vps6.backend.sk 6.12.100+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.100-1 (2026-07-30) x86_64
User : ftpuser ( 1001)
PHP Version : 8.4.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/backend-accounting.sk/app/modules/quirk/code/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/backend-accounting.sk/app/modules/quirk/code/ExtendedUser.php
<?php

namespace modules\quirk\code;

use app\classes\BasicUser;
use app\classes\PDODatabase;

class ExtendedUser {

    protected $user;
    protected $db;

    public function __construct(BasicUser $user) {
        $this->user = $user;
        $this->db = PDODatabase::getInstance();
    }

    public function _get($columnName) {
        return $this->user->_get($columnName);
    }

    /**
     * @return ?\modules\dpfob\code\DPFOB
     */
    public function getDPFOB($id, $idColumn = 'id') {
        $item = new \modules\dpfob\code\DPFOB($id, $idColumn);
        if ($this->user->getType() === \app\constants\UserType::CONSULTANT) {
            if ($item->getStatus() !== \modules\dpfob\code\DPFOBStatus::WAITING_FOR_ACCOUNTANT && $item->getAccountant()?->_get('id') !== $this->user->_get('id')) {
                throw new \Exception('Nemáte oprávnenie vykonať túto akciu pre DPFO B ' . $item->getPublicId(), \app\constants\HttpReponseCodes::HTTP_UNAUTHORIZED);
            }
        }

        return $item;
    }

    public function getInvoicesSumMonth($month, $year) {
        $firstDay = new \DateTime("$year-$month-01");
        $startDate = $firstDay->format('Y-m-d');

        $lastDay = new \DateTime("$year-$month-01");
        $lastDay->modify('last day of this month');
        $endDate = $lastDay->format('Y-m-d');

        return $this->getInvoicesSum($startDate, $endDate);
    }

    public function getInvoicesSum($startDate, $endDate) {
        $sum = $this->db->getValue(''
                . 'SELECT '
                . '     SUM((((payouts_invoices_items.qty * payouts_invoices_items.unit_price) - (payouts_invoices_items.unit_price * payouts_invoices_items.discount_percentage / 100)) * IF(payouts_invoices.invoice_type=:creditNotice, -1, 1))) '
                . 'FROM '
                . '     payouts_invoices '
                . 'LEFT JOIN '
                . '     payouts_invoices_items ON payouts_invoices.id = payouts_invoices_items.payouts_invoices_id AND payouts_invoices_items.state=:ACTIVE '
                . 'WHERE '
                . '     (DATE(payouts_invoices.date) BETWEEN :start_date AND :end_date) AND '
                . '     payouts_invoices_items.code_user=:code_user', [
            'ACTIVE' => \app\constants\State::ACTIVE,
            'start_date' => $startDate,
            'end_date' => $endDate,
            'code_user' => $this->_get('personalno'),
            'creditNotice' => \modules\payouts\code\InvoiceType::CREDIT_NOTICE,
        ]);

        return floatval($sum);
    }

    /**
     * @return \app\classes\PDOCollection
     */
    public function getSalaryItems($period) {
        return new \app\classes\PDOCollection('salary_items', 'id', 'SELECT * FROM salary_items WHERE users_id=:users_id AND period=:period AND ('
                . '(state=:ACTIVE AND type=:FIXED) OR (type=:VARIABLE)'
                . ')', [
            'users_id' => $this->_get('id'),
            'period' => $period,
            'ACTIVE' => \app\constants\State::ACTIVE,
            'FIXED' => \modules\payouts\code\SalaryItem::TYPE_FIXED,
            'VARIABLE' => \modules\payouts\code\SalaryItem::TYPE_VARIABLE,
        ]);
    }

    public function getSalaryItemsSum($period) {
        return floatval($this->db->getValue('SELECT SUM(amount) FROM salary_items WHERE users_id=:users_id AND period=:period AND state=:ACTIVE', [
                    'users_id' => $this->_get('id'),
                    'period' => $period,
                    'ACTIVE' => \app\constants\State::ACTIVE
        ]));
    }

}

Youez - 2016 - github.com/yon3zu
LinuXploit