frontend/modules/elfind/src/elFinderVolumeLocalFileSystem.class.php
/**
     * Return true if path is dir and has at least one childs directory
     *
     * @param  string $path dir path
     * @return bool
     * @author Dmitry (dio) Levashov
     **/
Return true if path is dir and has at least one childs directory
@param  string $path dir path
@return bool
@author Dmitry (dio) Levashov
Return true if path is dir and has at least one childs directory @param string $path dir path @return bool @author Dmitry ( dio ) Levashov
protected function _subdirs($path)
    {
        $dirs = false;
        if (is_dir($path)) {
            if (class_exists('FilesystemIterator', false)) {
                $dirItr = new ParentIterator(
                        new RecursiveDirectoryIterator($path,
                                FilesystemIterator::SKIP_DOTS |
                                (defined('RecursiveDirectoryIterator::FOLLOW_SYMLINKS') ?
                                        RecursiveDirectoryIterator::FOLLOW_SYMLINKS : 0)
                        )
                );
                $dirItr->rewind();
                if ($dirItr->hasChildren()) {
                    $dirs = true;
                    $name = $dirItr->getSubPathName();
                    while ($name) {
                        if (!$this->attr($path . DIRECTORY_SEPARATOR . $name, 'read', null, true)) {
                            $dirs = false;
                            $dirItr->next();
                            $name = $dirItr->getSubPathName();
                            continue;
                        }
                        $dirs = true;
                        break;
                    }
                }
            } else {
                $path = strtr($path, array('[' => '\\[', ']' => '\\]', '*' => '\\*', '?' => '\\?'));
                return (bool)glob(rtrim($path, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . '*', GLOB_ONLYDIR);
            }
        }
        return $dirs;
    }
protected function _subdirs ( $ path ) { $ dirs = false ; if ( is_dir ( $ path ) ) { if ( class_exists ( 'FilesystemIterator' , false ) ) { $ dirItr = new ParentIterator ( new RecursiveDirectoryIterator ( $ path , FilesystemIterator :: SKIP_DOTS | ( defined ( 'RecursiveDirectoryIterator::FOLLOW_SYMLINKS' ) ? RecursiveDirectoryIterator :: FOLLOW_SYMLINKS : 0 ) ) ) ; $ dirItr -> rewind ( ) ; if ( $ dirItr -> hasChildren ( ) ) { $ dirs = true ; $ name = $ dirItr -> getSubPathName ( ) ; while ( $ name ) { if ( ! $ this -> attr ( $ path . DIRECTORY_SEPARATOR . $ name , 'read' , null , true ) ) { $ dirs = false ; $ dirItr -> next ( ) ; $ name = $ dirItr -> getSubPathName ( ) ; continue ; } $ dirs = true ; break ; } } } else { $ path = strtr ( $ path , array ( '[' => '\\[' , ']' => '\\]' , '*' => '\\*' , '?' => '\\?' ) ) ; return ( bool ) glob ( rtrim ( $ path , DIRECTORY_SEPARATOR ) . DIRECTORY_SEPARATOR . '*' , GLOB_ONLYDIR ) ; } } return $ dirs ; }
Return true if path is dir and has at least one childs directory
 @param  string $path dir path
 @return bool
 @author Dmitry (dio) Levashov
Return true if path is dir and has at least one childs directory @param string $path dir path @return bool @author Dmitry ( dio ) Levashov