<?php
$superusergroups = $modx->getOption('superusergroups', $scriptProperties,'8,9');
$parent = $modx->getOption('parent', $scriptProperties, 47);
$superusergroups = explode(',', $superusergroups);
$groups = $modx->user->getUserGroups();
$has_permission = false;
$accepted = false; //see below
foreach ($superusergroups as $group) {
if (in_array($group, $groups)) {
$has_permission = true; //user is in one of the superusergroups
$modx->log(modX::LOG_LEVEL_ERROR, 'Is in');
}
else
{
$modx->log(modX::LOG_LEVEL_ERROR, 'Is not in');
}
}
$resources = array();
if ($parentObj = $modx->getObject('modResource', $parent))
{
$c = $modx->newQuery('modResource');
if ($resArray = $parentObj->getMany('Children', $c))
{
foreach ($resArray as $res)
{
// if ($res instanceof modResource)
// {
if ($res->get('description') == 'eingeschraenkt')
{
if ($has_permission)
{
$accepted = true;
}
} else
{
$accepted = true;
$modx->log(modX::LOG_LEVEL_ERROR, 'accepted');
}
// }
if ($accepted)
{
$resources[] = $res->get('pagetitle') . '==' .$res->get('id');
}
$accepted = false; //reset accepted to false
}
}
}
$out = implode("||", $resources);
return $out;
<?php
//Spezielle Gruppe Fachtrainer
$superusergroups = $modx->getOption('superusergroups', $scriptProperties,'8','9','11');
//Kursinformationen von Parent Kursinformationen
$parent = $modx->getOption('parent', $scriptProperties, 47);
$superusergroups = explode(',', $superusergroups);
$groups = $modx->user->getUserGroups();
$has_permission = false;
$accepted = false; //see below
//is user is in one of the superusergroups
foreach ($superusergroups as $group) {
if (in_array($group, $groups)) {
$has_permission = true; //user is in one of the superusergroups
//NEW: check which superuser group
if ($group[0] != "")
{
$gruppe = "1";
}
else if ($group[1] != "")
{
$gruppe = "2";
}
else
{
$gruppe = "3";
}
$modx->log(modX::LOG_LEVEL_ERROR, $gruppe);
$modx->trigger_error($gruppe, E_USER_WARNING);
}
}
//Überprüfen welche Gruppe
$resources = array();
if ($parentObj = $modx->getObject('modResource', $parent))
{
$c = $modx->newQuery('modResource');
if ($resArray = $parentObj->getMany('Children', $c))
{
foreach ($resArray as $res)
{
// if ($res instanceof modResource)
// {
if ($res->get('description') == 'Impuls Lehrtrainer 2')
{
if ($has_permission AND $gruppe > "2")
{
$accepted = true;
}
}
else if ($res->get('description') == 'Impuls Lehrtrainer')
{
if ($has_permission AND $gruppe > "1")
{
$accepted = true;
}
}
else if ($res->get('description') == 'Fachtrainer')
{
if ($has_permission AND $gruppe >= "1")
{
$accepted = true;
}
}
else
{
$accepted = true;
}
// }
if ($accepted)
{
// $resources[] = $res->get('pagetitle') . '==' .$res->get('id');
$resources[] = $res->get('pagetitle') . '==' .$res->get('pagetitle');
}
$accepted = false; //reset accepted to false
}
}
}
$out = implode("||", $resources);
return $out;
<?php
//Spezielle Gruppe Fachtrainer
$superusergroups = $modx->getOption('superusergroups', $scriptProperties,'8,9,11');
//Kursinformationen von Parent Kursinformationen
$parent = $modx->getOption('parent', $scriptProperties, 47);
$superusergroups = explode(',', $superusergroups);
$groups = $modx->user->getUserGroups();
$has_permission = false;
$accepted = false; //see below
//Ist der User überhaupt in der Superusergroup?
foreach ($superusergroups as $group) {
if (in_array($group, $groups)) {
$has_permission = true; //user is in one of the superusergroups
$gruppe = $group;
}
}
//$modx->log(modX::LOG_LEVEL_ERROR, $gruppe);
//Überprüfen welche Gruppe
$resources = array();
if ($parentObj = $modx->getObject('modResource', $parent))
{
$c = $modx->newQuery('modResource');
if ($resArray = $parentObj->getMany('Children', $c))
{
foreach ($resArray as $res)
{
// if ($res instanceof modResource)
// {
if ($res->get('description') == 'Impuls Lehrtrainer 2')
{
if ($has_permission AND $gruppe > "10")
{
$accepted = true;
}
}
else if ($res->get('description') == 'Impuls Lehrtrainer')
{
if ($has_permission AND $gruppe > "8")
{
$accepted = true;
}
}
else if ($res->get('description') == 'Fachtrainer')
{
if ($has_permission AND $gruppe >= "8")
{
$accepted = true;
}
}
else
{
$accepted = true;
}
// }
if ($accepted)
{
// $resources[] = $res->get('pagetitle') . '==' .$res->get('id');
$resources[] = $res->get('pagetitle') . '==' .$res->get('pagetitle');
}
$accepted = false; //reset accepted to false
}
}
}
$out = implode("||", $resources);
return $out;