Ejemplo n.º 1
0
function eZSetupPrvtAreDirAndFilesWritable($dir)
{
    if (!eZDir::isWriteable($dir)) {
        return FALSE;
    }
    // Check if all files within a given directory are writeable
    $files = eZDir::findSubitems($dir, 'f');
    // find only files, skip dirs and symlinks
    $fileSeparator = eZSys::fileSeparator();
    foreach ($files as $file) {
        if (!eZFile::isWriteable($dir . $fileSeparator . $file)) {
            return FALSE;
        }
    }
    return TRUE;
}
Ejemplo n.º 2
0
    static public function suite()
    {
        if ( !class_exists( 'eZTestSuite', true ) )
        {
            echo "\nThe eZTestSuite class isn't defined. Are the tests autoloads generated ?\n";
            echo "You can generate them using php bin/php/ezpgenerateautoloads.php -s\n\n";
            exit( PHPUnit_TextUI_TestRunner::FAILURE_EXIT );
        }

        $suite = new eZTestSuite;

        // Add suites from extensions.
        $extensions = eZDir::findSubitems( eZExtension::baseDirectory(), 'dl', true );

        foreach( $extensions as $extension )
        {
            $suiteFile = eZDir::path( array( $extension, "tests", "suite.php" ) );

            if ( file_exists( $suiteFile ) )
            {
                $suite->addTestFile( $suiteFile );
            }
        }

        return $suite;
    }
Ejemplo n.º 3
0
 static function packageRepositories($parameters = array())
 {
     if (isset($parameters['path']) and $parameters['path']) {
         $path = $parameters['path'];
         $packageRepositories = array(array('path' => $path, 'id' => 'local', 'name' => ezpI18n::tr('kernel/package', 'Local'), 'type' => 'local'));
     } else {
         $repositoryPath = eZPackage::repositoryPath();
         $packageRepositories = array(array('path' => $repositoryPath . '/local', 'id' => 'local', 'name' => ezpI18n::tr('kernel/package', 'Local'), 'type' => 'local'));
         $subdirs = eZDir::findSubitems($repositoryPath, 'd');
         foreach ($subdirs as $dir) {
             if ($dir == 'local') {
                 continue;
             }
             $packageRepositories[] = array('path' => $repositoryPath . '/' . $dir, 'id' => $dir, 'name' => $dir, 'type' => 'global');
         }
     }
     return $packageRepositories;
 }
Ejemplo n.º 4
0
 /**
  * Fetches the list of available translations, as an eZTSTranslator for each translation.
  *
  * @param array $localList
  *
  * @return array( eZTSTranslator ) list of eZTranslator objects representing available translations
  */
 static function fetchList($localeList = array())
 {
     $ini = eZINI::instance();
     $dir = $ini->variable('RegionalSettings', 'TranslationRepository');
     $fileInfoList = array();
     $translationList = array();
     $locale = '';
     if (count($localeList) == 0) {
         $localeList = eZDir::findSubdirs($dir);
     }
     foreach ($localeList as $locale) {
         if ($locale != 'untranslated') {
             $translationFiles = eZDir::findSubitems($dir . '/' . $locale, 'f');
             foreach ($translationFiles as $translationFile) {
                 if (eZFile::suffix($translationFile) == 'ts') {
                     $translationList[] = new eZTSTranslator($locale, $translationFile);
                 }
             }
         }
     }
     return $translationList;
 }
Ejemplo n.º 5
0
    static function copy( $sourceDirectory, &$destinationDirectory,
                   $asChild = true, $recursive = true, $includeHidden = false, $excludeItems = false )
    {
        if ( !is_dir( $sourceDirectory ) )
        {
            eZDebug::writeError( "Source $sourceDirectory is not a directory, cannot copy from it", __METHOD__ );
            return false;
        }
        if ( !is_dir( $destinationDirectory ) )
        {
            eZDebug::writeError( "Destination $destinationDirectory is not a directory, cannot copy to it", __METHOD__ );
            return false;
        }
        if ( $asChild )
        {
            if ( preg_match( "#^.+/([^/]+)$#", $sourceDirectory, $matches ) )
            {
                eZDir::mkdir( $destinationDirectory . '/' . $matches[1], eZDir::directoryPermission(), false );
                $destinationDirectory .= '/' . $matches[1];
            }
        }
        $items = eZDir::findSubitems( $sourceDirectory, 'df', false, $includeHidden, $excludeItems );
        $totalItems = $items;
        while ( count( $items ) > 0 )
        {
            $currentItems = $items;
            $items = array();
            foreach ( $currentItems as $item )
            {
                $fullPath = $sourceDirectory . '/' . $item;
                if ( is_file( $fullPath ) )
                    eZFileHandler::copy( $fullPath, $destinationDirectory . '/' . $item );
                else if ( is_dir( $fullPath ) )
                {
                    eZDir::mkdir( $destinationDirectory . '/' . $item, eZDir::directoryPermission(), false );
                    $newItems = eZDir::findSubitems( $fullPath, 'df', $item, $includeHidden, $excludeItems );
                    $items = array_merge( $items, $newItems );
                    $totalItems = array_merge( $totalItems, $newItems );
                    unset( $newItems );
                }
            }
        }
//         eZDebugSetting::writeNotice( 'lib-ezfile-copy',
//                                      "Copied directory $sourceDirectory to destination $destinationDirectory",
//                                      'eZDir::copy' );
        return $totalItems;
    }
 /**
  *	@desc		Get the file list translation
  *	@author 	David LE RICHE <*****@*****.**>
  *	@return		array
  *	@copyright	2012
  *	@version 	1.1
  */
 public static function getTranslationListFile()
 {
     $extensionIni = eZINI::instance('owtranslate.ini');
     $directoryMainExtension = $extensionIni->variable('MainExtension', 'directory');
     $rootExtensionDirectory = eZExtension::baseDirectory();
     $baseDirectory = $rootExtensionDirectory . '/' . $directoryMainExtension . '/translations';
     $dirTranslationList = eZDir::findSubitems($baseDirectory, false, true);
     $fileTranslationList = array();
     foreach ($dirTranslationList as $dir) {
         $locale = substr($dir, strripos($dir, '/') + 1);
         $fileList = eZDir::findSubitems($dir, false, true);
         foreach ($fileList as $file) {
             $fileTranslationList[$locale] = $file;
         }
     }
     return $fileTranslationList;
 }