<?php
namespace App\Traits;
trait Rights{
protected function getRights($session, $add) {
if(!$session->get('id')) return $this->redirect($this->generateUrl('site_deconnexion').$add);
$r_UserRights=$this->container->get('site.users')->getRights();
if($r_UserRights['status']==200 && $r_UserRights['body']['success']==1) $rights=$r_UserRights['body']['result'];
else return $this->redirect($this->generateUrl('site_deconnexion').$add);
if($rights['status']<3) return $rights;
return $this->redirect($this->generateUrl('site_deconnexion').$add);
}
protected function checkConnected($session) {
$user_id=$session->get('admin');
if(!$user_id) return 0;
return $user_id;
}
protected function checkAdmin($session, $conn) {
$user_id=$session->get('admin');
if(!$user_id) return 0;
$item=$this->fetch($conn, "SELECT is_admin, status FROM user u WHERE u.id=$user_id AND u.status=2 AND u.is_admin>0");
if($item && $item['status']==2) return $item['is_admin'];
return 0;
}
protected function getCompanies($session, $conn) {
$user_id=$session->get('admin');
if(!$user_id) array();
$admin=$this->checkAdmin($session, $conn);
if($admin==1) return $this->fetchAll($conn, "SELECT * FROM company WHERE status=2 AND id IN (SELECT company_id FROM staff WHERE id=$user_id) ORDER BY name ASC");
elseif($admin==2) return $this->fetchAll($conn, "SELECT * FROM company WHERE status=2 ORDER BY name ASC");
return array();
}
}