/**
  *
  * @param <type> $path
  * @param <type> $options
  * @param <type> $throwException
  * @return <type>
  */
 public static function getListOfFiles($path, $options = array(), $throwException = true)
 {
     $list = array();
     $fileName = '';
     if (uFs::is_dir($path, false)) {
         $basePath = $path;
     } else {
         $basePath = dirname($path);
         $fileName = basename($path);
     }
     uFs::is_dir($basePath, true);
     $iterator = new DirectoryIterator($basePath);
     while ($iterator->valid()) {
         $name = $iterator->getFilename();
         if (strlen($fileName) > 0) {
             $pattern = '/^' . $fileName . '/';
             if (1 === preg_match($pattern, $name)) {
                 $fname = $basePath . uFs::DS . $name;
                 $list[] = array('file-name' => $fname, 'date' => $iterator->getCTime());
             }
         } else {
             $fname = $basePath . uFs::DS . $name;
             $list[] = array('file-name' => $fname, 'date' => $iterator->getCTime());
         }
         $iterator->next();
     }
     if (is_array($options) && !empty($options)) {
         if (isset($options['sort-by'])) {
             $sortBy = $options['sort-by'];
             if (isset($options['sort-order'])) {
                 $sortOrder = $options['sort-order'] == 'ASC' ? SORT_ASC : SORT_DESC;
             } else {
                 $sortOrder = SORT_ASC;
             }
             foreach ($list as $key => $row) {
                 $sortArray[$key] = $row[$sortBy];
             }
             array_multisort($sortArray, $sortOrder, $list);
         }
     }
     $result = array();
     foreach ($list as $rec) {
         $result[] = $rec['file-name'];
     }
     return $result;
 }