/**
  * Find the location on design bases on the disk
  *
  * @param $ini an eZINI object
  * @param $siteAccess Wether to use siteaccesses or not
  * @return array The list of design bases
  */
 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;
 }