private static function findDesignBase( eZINI $ini, $siteAccess = false )
    {
        if( $siteAccess )
        {
            $ini = eZSiteAccess::getIni( $siteAccess, 'site.ini' );

            $standardDesign = $ini->variable( 'DesignSettings', 'StandardDesign' );
            $siteDesign     = $ini->variable( 'DesignSettings', 'SiteDesign' );

        }
        else
        {
            $ini = eZINI::instance();
            $standardDesign = eZTemplateDesignResource::designSetting( 'standard' );
            $siteDesign     = eZTemplateDesignResource::designSetting( 'site' );
        }

        $siteDesignList = $ini->variable( 'DesignSettings', 'AdditionalSiteDesignList' );

        array_unshift( $siteDesignList, $siteDesign );
        $siteDesignList[] = $standardDesign;
        $siteDesignList   = array_unique( $siteDesignList );

        $designBaseList     = array();
        $extensionDirectory = eZExtension::baseDirectory();
        $designStartPath    = eZTemplateDesignResource::designStartPath();
        $extensions         = eZTemplateDesignResource::designExtensions();

        foreach ( $siteDesignList as $design )
        {
            foreach ( $extensions as $extension )
            {
                $path = "$extensionDirectory/$extension/$designStartPath/$design";
                if ( file_exists( $path ) )
                {
                    $designBaseList[] = $path;
                }
            }

            $path = "$designStartPath/$design";
            if ( file_exists( $path ) )
            {
                $designBaseList[] = $path;
            }
        }

        return $designBaseList;
    }