";
if ($cm_upload_enabled) {
echo "{$cm_text["uploadlimit"]} " . round ($cm_limitsize/1024) . " k";
echo " ";
}
else {
echo "{$cm_text["disabledupload"]} ";
}
echo " |
";
}
// fcm_gzip_file
// Compress a file with the gzip algorithm.
function fcm_gzip_file ($cm_gzsource, $cm_gztarget) {
if (function_exists ("gzwrite")) {
$cm_ungzfp = @fopen($cm_gzsource, "rb");
$cm_gzfp = @gzopen($cm_gztarget, "wb9");
if ($cm_gzfp && $cm_ungzfp) {
while (!feof ($cm_ungzfp)) {
if (!$cm_safemode) {
set_time_limit (60);
}
gzwrite ($cm_gzfp, fread ($cm_ungzfp, 65535));
}
@fclose ($cm_ungzfp);
@gzclose ($cm_gzfp);
return (true);
}
else {
@fclose ($cm_ungzfp);
@gzclose ($cm_gzfp);
return (false);
}
}
else {
return (false);
}
}
// fcm_gunzip_file
// Decompress a gziped file.
function fcm_gunzip_file ($cm_gzsource, $cm_gztarget) {
if (function_exists ("gzwrite")) {
$cm_gzfp = @gzopen($cm_gzsource, "rb");
$cm_ungzfp = @fopen($cm_gztarget, "wb");
if ($cm_gzfp && $cm_ungzfp) {
while (!gzeof ($cm_gzfp)) {
if (!$cm_safemode) {
set_time_limit (60);
}
fwrite ($cm_ungzfp, gzread ($cm_gzfp, 65535));
}
@fclose ($cm_ungzfp);
@gzclose ($cm_gzfp);
return (true);
}
else {
@fclose ($cm_ungzfp);
@gzclose ($cm_gzfp);
return (false);
}
}
else {
return (false);
}
}
$cm_sorteddir = array();
if ($cm_path) {
$result1 = db_query("select cmdb_title, cmdb_directory, cmdb_content, cmdb_type from " . CM_DB_PREFIX . "content3 where cmdb_directory like '$cm_path' and cmdb_type like '%" . CM_HITTYPE_PAGE . "%'") or db_die();
$row1 = db_fetch_row($result1);
if (($cm_path <> "/") && ($row1[1] <> "")) {
if (fcm_check_constraints (CM_SEC_CHANGE, $user_kurz, $cm_path)) {
$cm_validops = fcm_check_validops ($user_kurz, $cm_path);
fcm_title_nav2 ($cm_path, $cm_validops[CM_SEC_CREATE], $cm_validops[CM_SEC_DELETE], $cm_validops[CM_SEC_CHANGE], $cm_validops[CM_SEC_DISPLA], ($cm_validops[CM_SEC_COMMEN] && fcm_can_becommented ($cm_path)), $cm_validops[CM_SEC_DISPLA], fcm_user_is_superuser($user_kurz), ($cm_validops[CM_SEC_COMMEN] && fcm_can_berated ($cm_path)));
if ($cm_remoteroot) {
$cm_indexpath = $cm_mainroot . $cm_path . "/";
}
else {
$cm_indexpath = str_replace (basename (__FILE__), "", __FILE__) . $cm_mainroot . $cm_path . "/";
}
$cm_canupload = get_cfg_var ("file_uploads");
$cm_maxfilesize = substr (get_cfg_var ("upload_max_filesize"), 0, -1) * 1024 * 1024;
$cm_maxpostsize = substr (get_cfg_var ("post_max_size"), 0, -1) * 1024 * 1024;
if ($cm_maxpostsize < $cm_maxfilesize) {
$cm_limitsize = $cm_maxpostsize;
}
else {
$cm_limitsize = $cm_maxfilesize;
}
// Delete file...
if ($cm_f2d) {
if (unlink ($cm_indexpath . $cm_f2d)) {
fcm_message ($cm_text["deletedfile"] . " ($cm_f2d)", CM_MSGSTYLE_INFORMATION);
fcm_delete_hitrecord ($cm_path . "/" . $cm_f2d, CM_HITTYPE_FILE);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Deleted file $cm_f2d.");
}
else {
fcm_message ($cm_text["errordelfile"] . " ($cm_f2d)", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when deleting file $cm_f2d.");
}
fcm_display_uploader ($cm_canupload);
}
// Gzip file...
elseif ($cm_f2gz) {
@unlink ($cm_indexpath . $cm_f2d . ".gz");
if (fcm_gzip_file ($cm_indexpath . $cm_f2gz, $cm_indexpath . $cm_f2gz . ".gz")) {
fcm_message ($cm_text["gzipedfile"] . " ($cm_f2gz)", CM_MSGSTYLE_INFORMATION);
fcm_rename_hitrecord ($cm_path . "/" . $cm_f2gz, $cm_path . "/" . $cm_f2gz . ".gz", CM_HITTYPE_FILE);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Gziped file $cm_f2gz");
}
else {
fcm_message ($cm_text["errorgzfile"] . " ($cm_f2gz)", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when gziping file $cm_f2gz.");
}
fcm_display_uploader ($cm_canupload);
}
// Ungzip file...
elseif ($cm_f2guz) {
$cm_f2guzd = substr ($cm_f2guz, 0, strrpos ($cm_f2guz, "."));
$cm_fileext = (string) substr (strrchr (strtolower ($cm_f2guzd), "."), 1);
if (!array_key_exists ($cm_fileext, $cm_disabled_type)) {
@unlink ($cm_indexpath . $cm_f2guzd);
if (fcm_gunzip_file ($cm_indexpath . $cm_f2guz, $cm_indexpath . $cm_f2guzd)) {
fcm_message ($cm_text["gunzipedfile"] . " ($cm_f2guz)", CM_MSGSTYLE_INFORMATION);
fcm_rename_hitrecord ($cm_path . "/" . $cm_f2guz, $cm_path . "/" . $cm_f2guzd, CM_HITTYPE_FILE);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Gunziped file $cm_f2guz");
}
else {
fcm_message ($cm_text["errorguzfile"] . " ($cm_f2guz)", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when gunziping file $cm_f2guz.");
}
}
else {
fcm_message ($cm_text["filetypedisabled"] . " ($cm_f2guzd)", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when gunziping file $cm_f2guz. File type disabled.");
}
fcm_display_uploader ($cm_canupload);
}
// Rename file... ask new name...
elseif ($cm_f2rn) {
echo "";
echo "{$cm_text["renamingfile"]} $cm_f2rn";
echo " ";
echo " |
";
}
// Confirmed renaming of file...
elseif ($cm_f2rnc) {
if (($cm_newname) && ($cm_oldname != $cm_newname)) {
$cm_fileext = (string) substr (strrchr (strtolower ($cm_newname), "."), 1);
if (!array_key_exists ($cm_fileext, $cm_disabled_type)) {
@unlink ($cm_indexpath . $cm_newname);
if (rename ($cm_indexpath . $cm_oldname, $cm_indexpath . $cm_newname)) {
fcm_message ($cm_text["renamedfile"] . " ($cm_oldname ... $cm_newname)", CM_MSGSTYLE_INFORMATION);
fcm_rename_hitrecord ($cm_path . "/" . $cm_oldname, $cm_path . "/" . $cm_newname, CM_HITTYPE_FILE);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Renamed file $cm_oldname to $cm_newname.");
}
else {
fcm_message ($cm_text["errorrenfile"] . " ($cm_oldname ... $cm_newname)", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when renaming file $cm_oldname to $cm_newname.");
}
}
else {
fcm_message ($cm_text["filetypedisabled"] . " ($cm_newname)", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when renaming file $cm_oldname to $cm_newname. File type disabled.");
}
}
else {
fcm_message ($cm_text["errorrenfile"] . " ($cm_oldname ... $cm_newname)", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when renaming file $cm_oldname to $cm_newname.");
}
fcm_display_uploader ($cm_canupload);
}
// Resize image... ask new size...
elseif ($cm_f2tn) {
echo "";
echo "{$cm_text["thumbingfile"]} $cm_f2tn";
echo " ";
echo " |
";
}
// Confirmed resizing the image...
elseif ($cm_f2tnc) {
if (($cm_newname) && ($cm_oldname != $cm_newname) && (abs ($cm_newX) > 1) && (abs ($cm_newY) > 1)) {
@unlink ($cm_indexpath . $cm_newname);
fcm_create_thumbnail ($cm_indexpath, $cm_oldname, $cm_newname, abs ($cm_newX), abs ($cm_newY));
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Tried to resize image $cm_oldname to $cm_newname.");
}
else {
fcm_message ($cm_text["thumberror"] . " ($cm_oldname ... $cm_newname)", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when resizing image file $cm_oldname to $cm_newname.");
}
fcm_display_uploader ($cm_canupload);
}
// Create copy... ask new name...
elseif ($cm_f2cc) {
echo "";
echo "{$cm_text["copyingfile"]} $cm_f2cc";
echo " ";
echo " |
";
}
// Confirmed creating copy of file...
elseif ($cm_f2ccc) {
if (($cm_newname) && ($cm_oldname != $cm_newname)) {
$cm_fileext = (string) substr (strrchr (strtolower ($cm_newname), "."), 1);
if (!array_key_exists ($cm_fileext, $cm_disabled_type)) {
@unlink ($cm_indexpath . $cm_newname);
if (copy ($cm_indexpath . $cm_oldname, $cm_indexpath . $cm_newname)) {
fcm_message ($cm_text["copiedfile"] . " ($cm_oldname ... $cm_newname)", CM_MSGSTYLE_INFORMATION);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Duplicated file $cm_oldname to $cm_newname.");
}
else {
fcm_message ($cm_text["errorcpfile"] . " ($cm_oldname ... $cm_newname)", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when duplicating file $cm_oldname to $cm_newname.");
}
}
else {
fcm_message ($cm_text["filetypedisabled"] . " ($cm_newname)", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when duplicating file $cm_oldname to $cm_newname. File type disabled.");
}
}
else {
fcm_message ($cm_text["errorcpfile"] . " ($cm_oldname ... $cm_newname)", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when duplicating file $cm_oldname to $cm_newname.");
}
fcm_display_uploader ($cm_canupload);
}
// Uploading file...
elseif ($cm_upload) {
if ($_FILES["cm_userfile"]["name"] && $_FILES["cm_userfile"]["size"]) {
if ((is_uploaded_file ($_FILES["cm_userfile"]["tmp_name"])) && (move_uploaded_file ($_FILES["cm_userfile"]["tmp_name"], $cm_indexpath . $_FILES["cm_userfile"]["name"]))) {
fcm_message ($cm_text["uploadedfile"] . " (" . $_FILES["cm_userfile"]["name"] . ")", CM_MSGSTYLE_INFORMATION);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Uploaded file " . $_FILES["cm_userfile"]["name"]);
$cm_fileext = (string) substr (strrchr (strtolower ($_FILES["cm_userfile"]["name"]), "."), 1);
if (array_key_exists ($cm_fileext, $cm_disabled_type)) {
@unlink ($cm_indexpath . $_FILES["cm_userfile"]["name"]);
fcm_message ($cm_text["filetypedisabled"] . " " . $cm_text["deletedfile"] . " (". $_FILES["cm_userfile"]["name"] . ")", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when uploading file " . $_FILES["cm_userfile"]["name"] . ". File type disabled.");
}
}
else {
fcm_message ($cm_text["errorupfile"] . " (" . $_FILES["cm_userfile"]["name"] . ")", CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_FILE, "Error when uploading file " . $_FILES["cm_userfile"]["name"]);
}
}
fcm_display_uploader ($cm_canupload);
}
else {
fcm_display_uploader ($cm_canupload);
}
echo "";
$cm_dirhandle = opendir($cm_indexpath);
while (($file = readdir($cm_dirhandle)) !== false)
$cm_sorteddir[count($cm_sorteddir)] = $file;
closedir($cm_dirhandle);
natcasesort($cm_sorteddir);
$cm_curcolor = "filelistcolor1";
foreach ($cm_sorteddir as $file) {
if (($file != ".") && ($file != "..")) {
if (!is_dir ($cm_indexpath . $file)) {
$cm_fileext = (string) substr (strrchr (strtolower ($file), "."), 1);
if (isset ($cm_file_iconname[$cm_icon_set][$cm_fileext])) {
$cm_fileicon = $cm_file_iconname[$cm_icon_set][$cm_fileext];
}
else {
$cm_fileicon = $cm_file_iconname[$cm_icon_set]["default"];
}
echo "";
echo " | ";
//echo "" . $file . " | ";
echo "" . $file . " | ";
echo "" . ceil (filesize ($cm_indexpath . $file) / 1024) . " k | ";
echo "" . date ("Y-m-d H:i:s", filemtime ($cm_indexpath . $file)) . " | ";
echo "{$cm_text["deletefile"]} | ";
echo "{$cm_text["renamefile"]} | ";
echo "{$cm_text["copyfile"]} | ";
if (function_exists ("gzwrite")) {
if ($cm_fileext == "gz") {
echo "{$cm_text["gunzipfile"]} | ";
}
else {
echo "{$cm_text["gzipfile"]} | ";
}
}
if ($cm_enable_gd) {
if (($cm_fileext == "jpg") || ($cm_fileext == "jpeg")) {
echo "{$cm_text["thumbnailfile"]} | ";
}
else {
echo " | ";
}
}
echo "
";
$cm_curcolor = fcm_swap_rowcolor ($cm_curcolor, "filelistcolor1", "filelistcolor2");
}
elseif ($cm_dirs_inlisting) {
$cm_fileicon = $cm_file_iconname[$cm_icon_set]["directory"];
echo "";
echo " | ";
echo "" . $file . " | ";
echo " | | | ";
echo "
";
$cm_curcolor = fcm_swap_rowcolor ($cm_curcolor, "filelistcolor1", "filelistcolor2");
}
}
}
echo "
";
}
else {
fcm_title_nav2 ("", false, false, false, false, false, false, false);
fcm_message ($cm_text["needaccess2edit"], CM_MSGSTYLE_WARNING);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_ERROR, "Error when loading file manager. Not enough permissions.");
}
}
else {
fcm_title_nav2 ("", false, false, false, false, false, false, false);
fcm_message ($cm_text["invaliddir"], CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_ERROR, "Error when loading file manager. Invalid directory.");
}
}
else {
fcm_title_nav2 ("", false, false, false, false, false, false, false);
fcm_message ($cm_text["invaliddir"], CM_MSGSTYLE_ERROR);
fcm_add_logentry ("", $user_kurz, CM_APPLOG_ERROR, "Error when loading file manager. Invalid directory.");
}
echo $cm_html_footer;
?>