public static function files($path, $filter = '.', $recurse = false, $full = false, $exclude = array('.svn', 'CVS', '.DS_Store', '__MACOSX', 'Thumbs.db'), $excludefilter = array('^\..*', '.*~'), $naturalSort = true)
  {
    $path = Path::clean($path);

    if ( !is_dir($path) ){
      throw new Exception(Helper::getTranslation('NOT_A_FOLDER'));
    }

    if ( count($excludefilter) ){
      $excludefilter_string = '/(' . implode('|', $excludefilter) . ')/';
    }
    else {
      $excludefilter_string = '';
    }

    $arr = Folder::_items($path, $filter, $recurse, $full, $exclude, $excludefilter_string, true);

    if ( $naturalSort ){
      natsort($arr);
    }
    else {
      asort($arr);
    }
    return array_values($arr);
  }