protected function getSection($sections, $section, $inheritance = false) {
		if (isset($sections[$section])) {
			return $sections[$section];
		}
		
		if ($inheritance) {
			foreach (array_keys($sections) as $part) {
				$colon = strpos($part, ':');

				if ($colon === false) {
					continue;
				}

				$successor = trim(substr($part, 0, $colon));
				$parent    = trim(substr($part, $colon + 1));
				
				if (! isset($successor[0], $parent[0])) {
					throw new InvalidIniSection('Invalid definition of the section "' . $part . '"');
				}

				if ($successor !== $section) {
					continue;
				}

				return array_replace(
					$this->getSection($sections, $parent, true),
					$sections[$part]
				);
			}
		}
		
		throw new InvalidIniSection('Section "' . $section . '" wasn\'t found');
	}
protected function getSection($sections, $section, $inheritance = false) {
		if (isset($sections[$section])) {
			return $sections[$section];
		}
		
		if ($inheritance) {
			foreach (array_keys($sections) as $part) {
				$colon = strpos($part, ':');

				if ($colon === false) {
					continue;
				}

				$successor = trim(substr($part, 0, $colon));
				$parent    = trim(substr($part, $colon + 1));
				
				if (! isset($successor[0], $parent[0])) {
					throw new InvalidIniSection('Invalid definition of the section "' . $part . '"');
				}

				if ($successor !== $section) {
					continue;
				}

				return array_replace(
					$this->getSection($sections, $parent, true),
					$sections[$part]
				);
			}
		}
		
		throw new InvalidIniSection('Section "' . $section . '" wasn\'t found');
	}
protected function getSection ( $ sections , $ section , $ inheritance = false ) { if ( isset ( $ sections [ $ section ] ) ) { return $ sections [ $ section ] ; } if ( $ inheritance ) { foreach ( array_keys ( $ sections ) as $ part ) { $ colon = strpos ( $ part , ':' ) ; if ( $ colon === false ) { continue ; } $ successor = trim ( substr ( $ part , 0 , $ colon ) ) ; $ parent = trim ( substr ( $ part , $ colon + 1 ) ) ; if ( ! isset ( $ successor [ 0 ] , $ parent [ 0 ] ) ) { throw new InvalidIniSection ( 'Invalid definition of the section "' . $ part . '"' ) ; } if ( $ successor !== $ section ) { continue ; } return array_replace ( $ this -> getSection ( $ sections , $ parent , true ) , $ sections [ $ part ] ) ; } } throw new InvalidIniSection ( 'Section "' . $ section . '" wasn\'t found' ) ; }
Get the section of a section's set

@param  array  $sections
@param  string $section
@param  bool   $inheritance
@return array
@throws InvalidIniSection
Get the section of a section s set