Initial Commit

This commit is contained in:
GiacomoHome
2021-09-17 12:41:45 +02:00
commit 9001e4656e
570 changed files with 31013 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
<?php
class App_Service_V1Auth
{
protected $_genericModel;
public function __construct()
{
$this->_genericModel = new Application_Model_Generic();
}
public function getUser()
{
if (Zend_Registry::isRegistered('TOKEN')) {
return $this->_genericModel->getByColumnName('Users', 'token', Zend_Registry::get('TOKEN'));
} else {
return null;
}
}
public function controllaPermessiSuOrdine($ordineMapping, $user = null)
{
if (!$user) {
$user = $this->getUser();
}
switch ($user['role']) {
case 'admin':
return true;
case 'user':
return $user['id'] === $ordineMapping['ID_Utente'];
case 'attivita':
return $user['id'] === $ordineMapping['ID_Attivita'];
case 'rider':
return $user['id'] === $ordineMapping['ID_UserRider'];
default:
return false;
}
}
/**
* Controlla se il permesso passatto o i permessi sono validi per l'utente loggato
* @param array $role
* @param null $user
* @return bool
*/
public function controllaPermessiByRole(array $role, $user = null)
{
if (!$user) {
$user = $this->getUser();
}
return in_array($user['role'], $role);
}
public function getPermissionWhere($user = null)
{
if (!$user) {
$user = $this->getUser();
}
switch ($user['role']) {
case 'admin':
return [];
case 'user':
return ['ID_Utente = ?' => $user['id']];
case 'attivita':
return ['ID_Attivita = ?' => $user['id']];
case 'rider':
return ['ID_UserRider = ?' => $user['id']];
default:
return ['id < ?' => '0']; // forza a non restituire nulla
}
}
}