private static function loadInheritanceData($parentNavId = 0, $fromInheritNode = false)
    {
        // get items from singleton object
        $items = (isset(self::getNavItems()[$parentNavId])) ? self::getNavItems()[$parentNavId] : [];
        foreach ($items as $item) {
            $internalCheck = false;
            foreach (Yii::$app->adminuser->identity->groups as $group) {
                if ($internalCheck) {
                    continue;
                }
                $internalCheck = self::navGroupInheritanceNode($item['id'], $group);
            }
            if (!array_key_exists($item['id'], self::$_inheritData)) {
                if ($fromInheritNode || $internalCheck) {
                    self::$_inheritData[$item['id']] = true;
                } else {
                    self::$_inheritData[$item['id']] = false;
                }
            }
            
            self::loadInheritanceData($item['id'], self::$_inheritData[$item['id']]);
        }
    }
private static function loadInheritanceData($parentNavId = 0, $fromInheritNode = false)
    {
        // get items from singleton object
        $items = (isset(self::getNavItems()[$parentNavId])) ? self::getNavItems()[$parentNavId] : [];
        foreach ($items as $item) {
            $internalCheck = false;
            foreach (Yii::$app->adminuser->identity->groups as $group) {
                if ($internalCheck) {
                    continue;
                }
                $internalCheck = self::navGroupInheritanceNode($item['id'], $group);
            }
            if (!array_key_exists($item['id'], self::$_inheritData)) {
                if ($fromInheritNode || $internalCheck) {
                    self::$_inheritData[$item['id']] = true;
                } else {
                    self::$_inheritData[$item['id']] = false;
                }
            }
            
            self::loadInheritanceData($item['id'], self::$_inheritData[$item['id']]);
        }
    }
private static function loadInheritanceData ( $ parentNavId = 0 , $ fromInheritNode = false ) { // get items from singleton object $ items = ( isset ( self :: getNavItems ( ) [ $ parentNavId ] ) ) ? self :: getNavItems ( ) [ $ parentNavId ] : [ ] ; foreach ( $ items as $ item ) { $ internalCheck = false ; foreach ( Yii :: $ app -> adminuser -> identity -> groups as $ group ) { if ( $ internalCheck ) { continue ; } $ internalCheck = self :: navGroupInheritanceNode ( $ item [ 'id' ] , $ group ) ; } if ( ! array_key_exists ( $ item [ 'id' ] , self :: $ _inheritData ) ) { if ( $ fromInheritNode || $ internalCheck ) { self :: $ _inheritData [ $ item [ 'id' ] ] = true ; } else { self :: $ _inheritData [ $ item [ 'id' ] ] = false ; } } self :: loadInheritanceData ( $ item [ 'id' ] , self :: $ _inheritData [ $ item [ 'id' ] ] ) ; } }
Find nav_id inheritances

+ Get all cms_nav items where is deleted 0 and sort_asc
+ foreach items
+ foreach all user groups for this item to check if an inheritance nod exists for this nav_item (self::navGroupInheritanceNode)
+ Set the interanl check to false, if inherit or internal check is true, set value into $data factory
+ proceed nodes of the current item with the information form $data factory as inheritation info.

@param integer $parentNavId
@param string $fromInheritNode
Find nav_id inheritances