Newscoop\Service\Implementation\ThemeManagementServiceLocal::getNewThemeFolder PHP Method

getNewThemeFolder() protected method

Provides a new folder (Automatically created) to place a new theme.
protected getNewThemeFolder ( str $inFolder ) : str
$inFolder str The folder wehere to place the new theme folder, this has to be relative to the themes folder.
return str The relative theme path.
    protected function getNewThemeFolder($inFolder)
    {
        $number = 1;
        $fullfodler = $this->toFullPath($inFolder);
        $length = strlen(self::FOLDER_THEME_PREFIX);
        if (is_dir($fullfodler)) {
            if ($dh = opendir($fullfodler)) {
                while (($dir = readdir($dh)) !== false) {
                    if ($dir != "." && $dir != ".." && is_dir($fullfodler . $dir)) {
                        if (strncmp($dir, self::FOLDER_THEME_PREFIX, $length) == 0) {
                            $themeNr = substr($dir, $length);
                            if (is_numeric($themeNr)) {
                                $number_test = (int) $themeNr + 1;
                                if ($number < $number_test) {
                                    $number = $number_test;
                                }
                            }
                        }
                    }
                }
                closedir($dh);
            }
        } else {
            mkdir($fullfodler);
        }
        $themeFolder = $inFolder . self::FOLDER_THEME_PREFIX . $number . '/';
        $themeFullFolder = $this->toFullPath($themeFolder);
        @mkdir($themeFullFolder);
        return $themeFolder;
    }