getConfig()["SETTINGS"][self::getSectionName()] ); } /** * @return array */ protected static function getFileContentArray( ): array { return self::$_file_content_array; } /** * will set the file Content array */ private static function setFileContentArray( ) { self::$_file_content_array = file( Settings::SETTINGS_PATH . parent::getInstance()->getConfig()["SETTINGS"][self::getSectionName()] ); } /** * @return \RecursiveIteratorIterator */ protected static function getNavigation( ): \RecursiveIteratorIterator { return self::$_navigation; } /** * Will load the navigation json file to the $_navigation * variable */ private static function setNavigation( ) { self::$_navigation = new \RecursiveIteratorIterator( new \RecursiveArrayIterator( json_decode( self::getFileContentString() , TRUE ) ), \RecursiveIteratorIterator::SELF_FIRST ); } /** * Displays the content of the file line by line on the * screen if it is in json format */ public function displayRawJsonNavigation( ) { foreach (self::getNavigation() as $key => $val) { if(is_array($val)) { echo "$key:
\n"; } else { echo "$key => $val
\n"; } } } /** * Loads the navigation from a json file into * the view, making the variables available * @param string $name */ public function loadJsonNavigationArray( string $name = 'navigation' ) { self::$_navigation_array = array(); self::setSectionName( $name ); self::setName( $name ); parent::getInstance(); self::setFileContentString(); self::setFileContentArray(); self::setNavigation(); $nav = self::getNavigation(); foreach ( $nav as $item => $value) { if($item == self::getSectionName()) { $keys = array_keys($value); for($i=0; sizeof($keys)>$i;$i++) { $fields = []; $fieldKeys=array_keys($value[$keys[$i]]); $fields['title']=$keys[$i]; foreach ($fieldKeys as $fieldKey) { if(array_key_exists($fieldKey, $value[$keys[$i]])) { $fields[$fieldKey]=$value[$keys[$i]][$fieldKey]; } } self::$_navigation_array[] = $fields; } } } View::getInstance()->getEngine()->assignGlobal(self::getName(), self::$_navigation_array); } }