Returns array of classes which contain Ajax controllers with <ajaxPrefix> => <className)

@see {@link https://github.com/webdevops/TYPO3-metaseo/issues/380}

@return array
491247
public static function getBackendAjaxClassNames()
    {
        $nameSpace = __NAMESPACE__ . '\\PageSeo';
        $ajaxPrefix = self::AJAX_PREFIX;

        return array(
            //$ajaxPrefix . PageSeo\AdvancedController::LIST_TYPE
            //  => $nameSpace . '\\' . 'AdvancedController',//unused
            $ajaxPrefix . PageSeo\GeoController::LIST_TYPE           => $nameSpace . '\\' . 'GeoController',
            $ajaxPrefix . PageSeo\MetaDataController::LIST_TYPE      => $nameSpace . '\\' . 'MetaDataController',
            $ajaxPrefix . PageSeo\PageTitleController::LIST_TYPE     => $nameSpace . '\\' . 'PageTitleController',
            $ajaxPrefix . PageSeo\PageTitleSimController::LIST_TYPE  => $nameSpace . '\\' . 'PageTitleSimController',
            $ajaxPrefix . PageSeo\SearchEnginesController::LIST_TYPE => $nameSpace . '\\' . 'SearchEnginesController',
            $ajaxPrefix . PageSeo\UrlController::LIST_TYPE           => $nameSpace . '\\' . 'UrlController',
        );
    }
473
public function getClasses(): array {
        $this->loadMetadata();
        $ret = array();
        foreach ($this->metadata->allResources('http://www.w3.org/1999/02/22-rdf-syntax-ns#type') as $i) {
            $ret[] = $i->getUri();
        }
        return $ret;
    }
953826
public function getController()
    {
        if ($this->controller) {
            return $this->controller;
        }
        foreach (array_reverse(ClassInfo::ancestry($this->class)) as $blockClass) {
            $controllerClass = "{$blockClass}Controller";
            if (class_exists($controllerClass)) {
                break;
            }
        }
        if (!class_exists($controllerClass)) {
            throw new ValidationException("Could not find controller class for $this->classname");
        }

        $this->controller = Injector::inst()->create($controllerClass, $this);
        $this->controller->init();

        return $this->controller;
    }
1281059
public function getAllClasses()
    {
        // Get all slugs that lead with a slash
        $pattern = '#(?:/([a-z-]+))#i';

        // If no matches, return an empty array.  Matches will be at first index;
        preg_match_all($pattern, $this->path, $matches);
        if (count($matches) <= 1) {
            return [];
        }
        $matches = $matches[1];

        // Remove actions from the matches list (like "edit")
        if (in_array($matches[count($matches) - 1], $this->actions)) {
            array_pop($matches);
        }

        // Convert all the matches to their classes
        return array_map(function ($name) {
            return $this->detectController($this->detectControllerClass($name));
        }, $matches);
    }
1270179
public function getClasses()
    {
        $classes = [];
        $current = $this->head;
        while ($current && $current->value) {
            $classes[] = $current->value;
            $current = $current->next;
        }

        return array_filter($classes);
    }
90621
public function getDashletFields()
    {
        /**
        *	if you want to use jQuery color picker instead of HTML5
        *	<input type='color' />, uncomment out the lined which add
        *	the extra class, and comment out the lines which are setting
        *	the attribute to type => color
        */
        
        $extraClasses = MultiValueTextField::create('ExtraClasses');

        $fields = new FieldList(new TextField('Title', _t('Dashlet.TITLE', 'Title')), $extraClasses);
        $this->extend('updateDashletFields', $fields);
        return $fields;
    }
1364982
public function getClassmap()
  {
    $classmap = $this->classmap;
    $classes  = [] ;

    if (!empty($classmap)) {
      foreach ($classmap as $class) {
        // Can't use end because of strict mode :(
        $name = current(array_slice(explode('\\', $class), -1, 1, true));

        $classes[$name] = $class;
      }
    }

    return $classes;
  }
50826
public static function getSubscribedEvents()
    {
        return [
            ContaoEvents::CONTROLLER_ADD_TO_URL                => 'handleAddToUrl',
            ContaoEvents::CONTROLLER_ADD_ENCLOSURE_TO_TEMPLATE => 'handleAddEnclosureToTemplate',
            ContaoEvents::CONTROLLER_ADD_IMAGE_TO_TEMPLATE     => 'handleAddImageToTemplate',
            ContaoEvents::CONTROLLER_GENERATE_FRONTEND_URL     => 'handleGenerateFrontendUrl',
            ContaoEvents::CONTROLLER_GET_ARTICLE               => 'handleGetArticle',
            ContaoEvents::CONTROLLER_GET_CONTENT_ELEMENT       => 'handleGetContentElement',
            ContaoEvents::CONTROLLER_GET_PAGE_DETAILS          => 'handleGetPageDetails',
            ContaoEvents::CONTROLLER_GET_TEMPLATE_GROUP        => 'handleGetTemplateGroup',
            ContaoEvents::CONTROLLER_LOAD_DATA_CONTAINER       => 'handleLoadDataContainer',
            ContaoEvents::CONTROLLER_REDIRECT                  => 'handleRedirect',
            ContaoEvents::CONTROLLER_RELOAD                    => 'handleReload',
            ContaoEvents::CONTROLLER_REPLACE_INSERT_TAGS       => 'handleReplaceInsertTags',
        ];
    }
976589
public function getMiddleware() : array
    {
        if (!$this->providesMiddleware()) {
            return [];
        }

        $allControllerMiddleware = array_filter(
            $this->getController()->getControllerMiddleware(),
            function (ControllerMiddleware $middleware) {
                return !$middleware->excludedForMethod($this->controllerMethod);
            }
        );

        return array_map(
            function ($controllerMiddleware) {
                return $controllerMiddleware->middleware();
            },
            $allControllerMiddleware
        );
    }
1266806
public function getClassNameForExtraClass() {
		$classes = [];
		foreach (array_reverse(\ClassInfo::ancestry($this->class)) as $class) {
			if ($class == self::class) {
				break;
			}
			$class = explode('_ContentElement_', $class, 2);
			$classes[] = 'ContentElement-' . end($class);
		}
		return $classes;
	}
295579
public function getClasses()
    {
        $classes = [];
        $sizes = $this->sizes;
        if (isset($sizes['phone'])) {
            $classes[] = 'col-xs-' . $sizes['phone'];
        }
        if (isset($sizes['tablet'])) {
            $classes[] = 'col-sm-' . $sizes['tablet'];
        }
        if (isset($sizes['mediumDesktop'])) {
            $classes[] = 'col-md-' . $sizes['mediumDesktop'];
        }
        if (isset($sizes['largeDesktop'])) {
            $classes[] = 'col-lg-' . $sizes['largeDesktop'];
        }

        return implode(' ', $classes);
    }
930087
public function getMappedClasses()
    {
        if (null === $this->classes) {
            $this->classes = $this->getClassesFromXml();
        }

        return array_keys($this->classes);
    }
792316
public function getController()
    {
        if ($this->controller) {
            return $this->controller;
        }

        $controllerClass = null;
        foreach (array_reverse(ClassInfo::ancestry($this->getClassName())) as $sliceClass) {
            $controllerClass = "{$sliceClass}_Controller";
            if (class_exists($controllerClass)) {
                break;
            }

            $controllerClass = "{$sliceClass}Controller";
            if (class_exists($controllerClass)) {
                break;
            }
        }

        if (!class_exists($controllerClass)) {
            throw new Exception("Could not find controller class for {$this->getClassName()}");
        }

        $this->controller = Injector::inst()->create($controllerClass, $this);

        return $this->controller;
    }
1356801
public function getAllClassContentClassnames()
    {
        if (null === $this->contentClassnames) {
            $cacheId = md5('all_classcontents_classnames_'.$this->app->getContext().'_'.$this->app->getEnvironment());
            if (!$this->app->isDebugMode() && false !== $value = $this->cache->load($cacheId)) {
                $this->contentClassnames = json_decode($value, true);
            } else {
                $this->contentClassnames = [AbstractClassContent::CLASSCONTENT_BASE_NAMESPACE . 'ContentSet'];
                foreach ($this->app->getClassContentDir() as $directory) {
                    $this->contentClassnames = array_merge(
                            $this->contentClassnames,
                            CategoryManager::getClassContentClassnamesFromDir($directory)
                    );
                }

                $this->cache->save($cacheId, json_encode($this->contentClassnames));
            }
        }

        return $this->contentClassnames;
    }
1026048
public function getExcludedClasses()
    {
        $excludedClasses = [];

        foreach ($this->classes as $excludedClass) {
            $excludedClasses[] = $excludedClass->getName();
        }

        return $excludedClasses;
    }
995623
public function getList()
    {
        $routeMatch = $this->getEvent()->getRouteMatch();
        
        $type = $this->params('type', false);
        
        $alerts = $this->getAlertDataHandler()->getAlertsStructure($type);
        $response = $this->getResponse();
        $response->getHeaders()->addHeaderLine('Content-Type', 'application/json');
        $serializer = $this->getSerializer();
        $alertssJson = $serializer->serialize($alerts, 'json');
        $response->setContent($alertssJson);
        return $response;
    }
421100
public function getExcludedSiteTreeClassNames() {
		$classes = array();
		$siteTreeClasses = $this->owner->allowedChildren();
		foreach($siteTreeClasses as $class) {
			if(Injector::inst()->create($class)->config()->show_in_sitetree === false) {
				$classes[$class] = $class;
			}
		}
		return $classes;
	}