mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-18 23:43:12 +00:00
WIP Registration / collections
This commit is contained in:
@@ -213,20 +213,18 @@ class RegistrationService
|
|||||||
*/
|
*/
|
||||||
private function getAuthorizedCollections(array $selectedCollections = null, array $inscriptions)
|
private function getAuthorizedCollections(array $selectedCollections = null, array $inscriptions)
|
||||||
{
|
{
|
||||||
$authorizedCollections = array();
|
$inscriptions = $this->registrationManager->getRegistrationSummary();
|
||||||
|
$authorizedCollections = [];
|
||||||
|
|
||||||
|
|
||||||
foreach ($this->appbox->get_databoxes() as $databox) {
|
foreach ($this->appbox->get_databoxes() as $databox) {
|
||||||
$databoxId = $databox->get_sbas_id();
|
|
||||||
|
|
||||||
foreach ($databox->get_collections() as $collection) {
|
foreach ($databox->get_collections() as $collection) {
|
||||||
if (null !== $selectedCollections && !in_array($collection->get_base_id(), $selectedCollections)) {
|
if (null !== $selectedCollections && !in_array($collection->get_base_id(), $selectedCollections)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->isCollectionAuthorized($inscriptions, $collection, $databoxId)) {
|
if ($canRegister = \igorw\get_in($inscriptions, [$databox->get_sbas_id(), 'config', 'collections', $collection->get_base_id(), 'can-register'])) {
|
||||||
$authorizedCollections[$collection->get_base_id()] = true;
|
$authorizedCollections[$collection->get_base_id()] = $canRegister;
|
||||||
} else {
|
|
||||||
$authorizedCollections[$collection->get_base_id()] = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -234,20 +232,6 @@ class RegistrationService
|
|||||||
return $authorizedCollections;
|
return $authorizedCollections;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param array $inscriptions
|
|
||||||
* @param \collection $collection
|
|
||||||
* @param $databoxId
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
private function isCollectionAuthorized(array $inscriptions, \collection $collection, $databoxId)
|
|
||||||
{
|
|
||||||
return isset($inscriptions[$databoxId])
|
|
||||||
&& $inscriptions[$databoxId]['inscript'] === true
|
|
||||||
&& (isset($inscriptions[$databoxId]['Colls'][$collection->get_coll_id()])
|
|
||||||
|| isset($inscriptions[$databoxId]['CollsCGU'][$collection->get_coll_id()]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $authorizedCollections
|
* @param $authorizedCollections
|
||||||
* @param $user
|
* @param $user
|
||||||
@@ -263,7 +247,7 @@ class RegistrationService
|
|||||||
$baseIds[] = $baseId;
|
$baseIds[] = $baseId;
|
||||||
}
|
}
|
||||||
|
|
||||||
$user->setLastAppliedTemplate($template_user);
|
$user->setLastAppliedTemplate($templateUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user