Returns whether a child view is defined and has the method render_$sectionName defined.
@return boolean True if a child view contains the method render_$sectionName.
963238
public final function hasChildSection(string $sectionName) : bool
    {
        return !is_null($this->child) && method_exists($this->child, "render_$sectionName");
    }
854103
public function hasRoutableTemplates()
    {
        $this->buildTemplateIndex();

        $routable = false;

        foreach ($this->templateIndex as $name => $template) {
            if (($name !== self::INDEX_TEMPLATE) && ($name !== self::NOTFOUND_TEMPLATE)) {
                $routable = true;
                break;
            }
        }

        return($routable);
    }
1363670
public function child_count() {

		$count = 0;
		if ( ! empty( $this->child ) ) {
			foreach ( $this->child as $child ) {
				if ( $this->is_section_object( $child ) ) {
					$count ++;
				}
			}
		}

		return $count;
	}
857280
function hasViewResult( $view = '' )
    {
        if ( $view == '' )
            $view = $this->currentView();
        return isset( $this->ViewResult[$view] );
    }
571845
public function isMethodProtected($className, $methodName)
    {
        $className = $this->prepareClassReflectionForUsage($className);
        return (isset($this->classReflectionData[$className][self::DATA_CLASS_METHODS][$methodName][self::DATA_METHOD_VISIBILITY]) && $this->classReflectionData[$className][self::DATA_CLASS_METHODS][$methodName][self::DATA_METHOD_VISIBILITY] === self::VISIBILITY_PROTECTED);
    }
588214
public function verifyView()
    {
        // Fetch view definition from database
        try
        {
            $view = self::fetchById( '_design/' . $this->getViewName() );
        }
        catch ( phpillowResponseNotFoundErrorException $e )
        {
            // If the view does not exist yet, recreate it from current view
            $view = $this;
        }

        // Force setting of view definitions
        $views = array();
        foreach ( $this->viewFunctions as $name => $functions )
        {
            $views[$name]['map'] = file_get_contents( $functions['map'] );

            // Check if there is also a reduce function for the given view
            // function.
            if ( isset( $functions['reduce'] ) )
            {
                $views[$name]['reduce'] = file_get_contents( $functions['reduce'] );
            }
        }

        $view->views = $views;
        $view->save();
    }
1121903
public function isSection() {
		if ($this->isCurrent()) {
			return true;
		}
		$ancestors = $this->getAncestors();
		if (Director::get_current_page() instanceof Page) {
			$node = Director::get_current_page()->asMenuItem();
			if ($node) {
				$ancestors = $node->getAncestors();
				return $ancestors && in_array($this->ID, $node->getAncestors()->column());
			}
			
		}
		return false;
	}
819575
public function findSection($section)
    {
        if (isset($this->sectionMap[$section])) {
            return $this->sectionMap[$section];
        }

        return false;
    }
812602
public function isTemplateOf(self $view)
    {
        while ($_view = $view->getTemplate()) {
            if ($this === $_view) {
                return true;
            }
            $view = $_view;
        }

        return false;
    }
207936
public function render()
    {
        $data        = $this->_config->toArray();
        $sectionName = $this->_config->getSectionName();
        $extends     = $this->_config->getExtends();

        if (is_string($sectionName)) {
            $data = array($sectionName => $data);
        }

        foreach ($extends as $section => $parentSection) {
            $data[$section][Zend_Config_Json::EXTENDS_NAME] = $parentSection;
        }

        // Ensure that each "extends" section actually exists
        foreach ($data as $section => $sectionData) {
            if (is_array($sectionData) && isset($sectionData[Zend_Config_Json::EXTENDS_NAME])) {
                $sectionExtends = $sectionData[Zend_Config_Json::EXTENDS_NAME];
                if (!isset($data[$sectionExtends])) {
                    // Remove "extends" declaration if section does not exist
                    unset($data[$section][Zend_Config_Json::EXTENDS_NAME]);
                }
            }
        }

        $out = Zend_Json::encode($data);
        if ($this->prettyPrint()) {
             $out = Zend_Json::prettyPrint($out);
        }
        return $out;
    }
1205039
public function renderSections()
	{
		$env = $this->environment;

		return $this->render(function($view) use ($env)
		{
			return $env->getSections();
		});
	}
979527
public function callHasChildren()
    {
        $result = false;

        if($this->current()->isRecursable()) {
            $result = $this->current()->hasChildren();
        }

        return $result;
    }
138801
public function verifyView()
    {
        // Fetch view definition from database
        try
        {
            $view = self::fetchById( '_design/' . $this->getViewName() );
        }
        catch ( phpillowResponseNotFoundErrorException $e )
        {
            // If the view does not exist yet, recreate it from current view
            $view = $this;
        }

        // Force setting of view definitions
        $views = array();
        foreach ( $this->viewDefinitions as $name => $function )
        {
            $views[$name]['map'] = $function;

            // Check if there is also a reduce function for the given view
            // function.
            if ( isset( $this->viewReduces[$name] ) )
            {
                $views[$name]['reduce'] = $this->viewReduces[$name];
            }
        }

        $view->views = $views;
        $view->save();
    }
892913
public function hasComponent($componentName)
    {
        $componentManager = ComponentManager::instance();
        $componentName = $componentManager->resolve($componentName);

        foreach ($this->settings['components'] as $sectionName => $values) {

            $result = $sectionName;

            if ($sectionName == $componentName) {
                return $result;
            }

            $parts = explode(' ', $sectionName);
            if (count($parts) > 1) {
                $sectionName = trim($parts[0]);

                if ($sectionName == $componentName) {
                    return $result;
                }
            }

            $sectionName = $componentManager->resolve($sectionName);
            if ($sectionName == $componentName) {
                return $result;
            }

        }

        return false;
    }
709195
public function is_current_section()
    {
        if( !isset( $this->active ) )
        {
            $this->active = filter_input(INPUT_GET, 'section') == $this->get_slug();
        }
        return $this->active;
    }
1214894
function hasSection( $sectionName )
    {
        return ( isset( $this->BlockValues[$sectionName] )
            || isset( self::$injectedSettings[$this->FileName][$sectionName] ) );
    }
244405
public function hasRenderer()
    {
        if (!isset($this->_data['renderer'])) {
            return false;
        }

        if (is_string($this->_data['renderer'])) {
            // Renderer class name has been given
            $renderer = $this->_data['renderer'];
            $namespace = ResourceTable::collection()->rendererNamespace();
            if ($namespace) {
                $renderer = $namespace.'\\'.$renderer;
            }
            if (!class_exists($renderer)) {
                return false;
            }
            if (!method_exists($renderer, 'render') || !is_callable([$renderer, 'render'])) {
                return false;
            }
        }

        return true;
    }