Example #1
0
<body>
<div class="container-fluid full-height">
    <div class="row full-height">
        <div class="col-md-12 full-height main-frame-container">
            <div class="panel panel-primary main-frame">
                <div class="panel-heading">Package Manager</div>
                <div class="panel-body">
                    <div class="file-detail full-height col-md-4"></div>
                    <div class="file-manager scroll-pane full-height col-md-12">
                        <?php 
$files_array = array();
$dir = new DirectoryIterator(dirname(__FILE__) . "/packages");
while ($dir->valid()) {
    if (!$dir->isDot() && $dir->isDir()) {
        // sort key, ie. modified timestamp
        $key = $dir->getCTime();
        $data = array($dir->getFilename(), dirsize($dir->getPathname()));
        $files_array[$key] = $data;
    }
    $dir->next();
}
ksort($files_array);
$files_array = array_reverse($files_array, true);
foreach ($files_array as $key => $fileinfo) {
    ?>
                                <div class="dir-item" data-package="<?php 
    echo $fileinfo[0];
    ?>
"><a href="?package=<?php 
    echo $fileinfo[0];
    ?>
 /**
  *
  * @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;
 }