/** * gets the size of a folder/file. Calculates recursively the size of a directory tree. * @param string $path path of folder/file */ function fm_get_size($path, $rawbytes = 0) { if (!is_dir($path)) { return fm_readable_filesize(@filesize($path)); } $dir = opendir($path); $size = 0; while ($file = readdir($dir)) { if (is_dir($path . "/" . $file) && $file != "." && $file != "..") { $size += fm_get_size($path . "/" . $file, 1); } else { $size += @filesize($path . "/" . $file); } } if ($rawbytes == 1) { return $size; } if ($size == 0) { return "0 Bytes"; } else { return fm_readable_filesize($size); } }
$list = fm_view_zipped(fm_get_user_link($zipid), $groupid); } else { $list = fm_view_zipped(fm_get_group_link($zipid, $groupid), $groupid); } print_simple_box_start('center', '375', '#C0C0C0'); echo "<table name=\"viewziptable\" cellspacing=\"5\" align=\"center\" width=\"375\">"; echo "<tr>"; echo "<td align='center'><b><u>" . get_string('file', 'block_file_manager') . "</u></b></td>"; echo "<td align='center'><b><u>" . get_string('compressedsize', 'block_file_manager') . "</u></b></td>"; echo "<td align='center'><b><u>" . get_string('actualsize', 'block_file_manager') . "</u></b></td>"; echo "</tr>"; foreach ($list as $l) { echo "<tr>"; echo "<td align='center'>{$l->name}</td>"; echo "<td align='center'>" . fm_readable_filesize($l->compsize) . "</td>"; echo "<td align='center'>" . fm_readable_filesize($l->actualsize) . "</td>"; echo "</tr>"; } echo "</table>"; print_simple_box_end(); break; case 'zipsel': if (isset($_POST['standardzip'])) { if ($groupid == 0) { $destination = $CFG->dataroot . "/" . fm_get_user_dir_space(); } else { $destination = $CFG->dataroot . "/" . fm_get_group_dir_space($groupid); } $originalfiles = array(); foreach ($USER->fm_cb as $c) { if ($c != 0 || substr($c, 0, 2) == "f-") {
// Prints how much space user has left $tmpdir = $CFG->dataroot . "/" . fm_get_user_dir_space(); } else { // Prints group files management form print_table(fm_print_user_files_form($id, $rootdir, $action, $groupid, $readonlyaccess)); // Prints how much space group has left $tmpdir = $CFG->dataroot . "/" . fm_get_group_dir_space($groupid); } $dirsize = fm_get_size($tmpdir, 1); $usertype = fm_get_user_int_type(); $adminsettings = get_record('fmanager_admin', 'usertype', $usertype); $sizeleft = get_string('directorysize', 'block_file_manager') . ': <b><i>' . fm_readable_filesize($dirsize) . "</i></b>"; // Defaults to dirsize if unlimited space if ($adminsettings->maxdir != 0) { $sizeleft = $adminsettings->maxdir * 1048576 - $dirsize; $sizeleft = fm_readable_filesize($sizeleft); $sizeleft = get_string('remains', 'block_file_manager', $sizeleft); } echo "<p align=right>{$sizeleft}</p>"; echo "<center>"; if ($action == 'movesel') { echo "<input type=\"submit\" value=\"" . get_string('btnmovehere', 'block_file_manager') . "\" name=\"btnmovehere\"> "; } if (!$readonlyaccess) { ?> <input type="submit" value="<?php print_string('btnnewfolder', 'block_file_manager'); ?> " name="newfolder" />