public function buildTableRow(DirectoryIterator $file, $includeParentDirectoryDots = true) { if (!$file->isDot() && substr($file->getFilename(), 0, 1) == '.' && Administration::instance()->Configuration->get('show-hidden', 'filemanager') != 'yes') { return; } elseif ($file->isDot() && !$includeParentDirectoryDots && $file->getFilename() == '..') { return; } elseif ($file->getFilename() == '.') { return; } $relpath = str_replace($this->getStartLocation() == '' ? DOCROOT : DOCROOT . $this->getStartLocation(), NULL, $file->getPathname()); if (!$file->isDir()) { //if(File::fileType($file->getFilename()) == self::CODE) // $download_uri = self::baseURL() . 'edit/?file=' . urlencode($relpath); //else $download_uri = self::baseURL() . 'download/?file=' . urlencode($relpath); } else { $download_uri = self::baseURL() . 'properties/?file=' . urlencode($relpath) . '/'; } if (!$file->isDot()) { $td1 = Widget::TableData(Widget::Anchor($file->getFilename(), self::baseURL() . ($file->isDir() ? 'browse' . $relpath . '/' : 'properties/?file=' . urlencode($relpath)), NULL, 'file-type ' . ($file->isDir() ? 'folder' : File::fileType($file->getFilename())))); //$group = (function_exists('posix_getgrgid') ? posix_getgrgid($file->getGroup()) : $file->getGroup()); //$owner = (function_exists('posix_getpwuid') ? posix_getpwuid($file->getOwner()) : $file->getOwner()); $group = $file->getGroup(); $owner = $file->getOwner(); $td3 = Widget::TableData(File::getOctalPermission($file->getPerms()) . ' <span class="inactive">' . File::getReadablePerm($file->getPerms()), NULL, NULL, NULL, array('title' => (isset($owner['name']) ? $owner['name'] : $owner) . ', ' . (isset($group['name']) ? $group['name'] : $group)) . '</span>'); $td4 = Widget::TableData(DateTimeObj::get(__SYM_DATETIME_FORMAT__, $file->getMTime())); if ($file->isWritable()) { if ($file->isDir()) { $td5 = Widget::TableData(Widget::Anchor('Edit', $download_uri)); } else { $td5 = Widget::TableData(Widget::Anchor('Download', $download_uri)); } } else { $td5 = Widget::TableData('-', 'inactive'); } } else { $td1 = Widget::TableData(Widget::Anchor('↵', self::baseURL() . 'browse' . $relpath . '/')); $td3 = Widget::TableData('-', 'inactive'); $td4 = Widget::TableData('-', 'inactive'); $td5 = Widget::TableData('-', 'inactive'); } $td2 = Widget::TableData($file->isDir() ? '-' : General::formatFilesize($file->getSize()), $file->isDir() ? 'inactive' : NULL); $startlocation = DOCROOT . $this->getStartLocation(); if (!$file->isDot()) { $td5->appendChild(Widget::Input('items[' . str_replace($startlocation, '', $file->getPathname()) . ($file->isDir() ? '/' : NULL) . ']', NULL, 'checkbox')); } return Widget::TableRow(array($td1, $td2, $td3, $td4, $td5)); }