CheckPermission('Modify Files')) exit; $config = $gCms->GetConfig(); $this->smarty->assign('currentpath', $this->Lang("currentpath")); $this->smarty->assign('path', $path); $this->smarty->assign('dirformstart', $this->CreateFormStart($id, 'newdir', $returnid)); $this->smarty->assign('hiddenpath', $this->CreateInputHidden($id, "path", $path)); $this->smarty->assign('newdirnametext', $this->Lang("newdirname")); $this->smarty->assign('newdirnameinput', $this->CreateInputText($id, "newdirname", "", 40, 255)); $this->smarty->assign('dirsubmit', $this->CreateInputSubmit($id, "go", $this->Lang("ok"), "", "")); $this->smarty->assign('dirformend', $this->CreateFormEnd()); $this->smarty->assign('formstart', $this->CreateFormStart($id, 'filesform', $returnid)); // get the dirs from uploadspath $filerec = get_recursive_file_list($config['uploads_path'], array(), -1, 'DIRS'); //$dirlist[$this->Lang('selecttargetdir')] = '-'; foreach ($filerec as $key => $value) { $value1 = str_replace($config['root_path'], '', $value); //prevent current dir from showing up if ($value1 == ($path . "/")) continue; //Check for hidden files $dirs = explode("/", $value1); $hidden = false; foreach ($dirs as $dir) { if (substr($dir, 0, 1) == ".") { $hidden = true; break; } } if ($hidden) continue; //not hidden, add to list $dirlist[$this->Slashes($value1)] = $this->Slashes($value1); } $themeObject = &$gCms->variables['admintheme']; $actions = array( $this->Lang('copyselected') => 'copyselected' , $this->Lang('moveselected') => 'moveselected' , $this->Lang("deleteselected") => "deleteselected" //,$this->Lang("chmodselected")=>"chmodselected" ); $this->smarty->assign('actiondropdown', $this->CreateInputDropdown($id, "selectedaction", $actions)); $this->smarty->assign('targetdir', $this->CreateInputDropdown($id, 'targetdir', $dirlist, '-')); //,"","",$this->Lang("confirmselected") $this->smarty->assign('okinput', $this->CreateInputSubmit($id, "ok", $this->Lang("ok"))); $this->smarty->assign('tagallinput', $this->CreateInputCheckBox($id, "tagall", "tagall", "", "onclick='selectall();'")); $titlelink = $this->Lang("filename"); //if ($sortby=="nameasc" || $sortby=="namedesc") { $newsort = ""; if ($sortby == "nameasc") { $newsort = "namedesc"; $titlelink.="+"; } else { $newsort = "nameasc"; if ($sortby == "namedesc") $titlelink.="-"; } $params["newsort"] = $newsort; //} $titlelink = $this->CreateLink($id, "defaultadmin", $returnid, $titlelink, $params); $this->smarty->assign('filenametext', $titlelink); $titlelink = $this->Lang("filesize"); //if ($sortby=="sizeasc" || $sortby=="sizedesc") { $newsort = ""; if ($sortby == "sizeasc") { $newsort = "sizedesc"; $titlelink.="+"; } else { $newsort = "sizeasc"; if ($sortby == "sizedesc") $titlelink.="-"; } $params["newsort"] = $newsort; //} $titlelink = $this->CreateLink($id, "defaultadmin", $returnid, $titlelink, $params); $this->smarty->assign('filesizetext', $titlelink); $this->smarty->assign('fileownertext', $this->Lang("fileowner")); $this->smarty->assign('filepermstext', $this->Lang("fileperms")); $this->smarty->assign('fileinfotext', $this->Lang("fileinfo")); $this->smarty->assign('filedatetext', $this->Lang("filedate")); $this->smarty->assign('actionstext', $this->Lang("actions")); $countdirs = 0; $countfiles = 0; $countfilesize = 0; $files = array(); for ($i = 0; $i < count($filelist); $i++) { $onerow = new stdClass(); if ($filelist[$i]["dir"]) { $onerow->checkbox = " "; } else { $onerow->checkbox = $this->CreateInputCheckBox($id, "file_" . base64_encode($filelist[$i]["name"]), "true", ""); } if ($this->GetPreference("showthumbnails", 0) == 1) { if ($filelist[$i]["image"]) { //echo $filelist[$i]["url"]." ".$config["image_uploads_url"]; if (stripos($filelist[$i]["url"], $config["image_uploads_url"]) !== false) { //echo $path; $onerow->thumbnail = $this->GetThumbnailLink($filelist[$i], $path); } else { $onerow->thumbnail = ""; } } } else { $onerow->thumbnail = ""; } if ($filelist[$i]["dir"]) { $onerow->iconlink = $this->CreateLink($id, "changedir", "", $this->GetFileIcon($filelist[$i]["ext"], $filelist[$i]["dir"]), array("newdir" => $filelist[$i]["name"], "path" => $path, "sortby" => $sortby)); } else { $onerow->iconlink = "" . $this->GetFileIcon($filelist[$i]["ext"]) . ""; } //echo "
".$onerow->iconlink."
"; $link = $filelist[$i]["name"]; if ($filelist[$i]["dir"]) { if ($filelist[$i]["name"] != "..") $countdirs++; $onerow->txtlink = $this->CreateLink($id, "changedir", "", $link, array("newdir" => $filelist[$i]["name"], "path" => $path, "sortby" => $sortby)); } else { $countfiles++; $countfilesize+=$filelist[$i]["size"]; $onerow->txtlink = "" . $link . ""; } $onerow->fileinfo = $filelist[$i]["fileinfo"]; if ($filelist[$i]["name"] == "..") { $onerow->fileaction = " "; $onerow->filepermissions = " "; } else { $onerow->fileowner = $filelist[$i]["fileowner"]; $onerow->filepermissions = $filelist[$i]["permissions"]; } if ($filelist[$i]["dir"]) { $onerow->filesize = " "; } else { $filesize = $this->FormatFileSize($filelist[$i]["size"]); $onerow->filesize = $filesize["size"]; $onerow->filesizeunit = $filesize["unit"]; } if (!$filelist[$i]["dir"]) { $onerow->filedate = $filelist[$i]["date"]; } else { $onerow->filedate = ''; } $onerow->deleteaction = " "; $onerow->renameaction = " "; $onerow->chmodaction = " "; $onerow->writeprotected = " "; if ($filelist[$i]["name"] != "..") { if ($filelist[$i]["writable"]) { if ($filelist[$i]["dir"]) { $onerow->deleteaction = $this->CreateLink($id, "deletedir", '', $this->GetActionIcon("delete"), array("dirname" => $filelist[$i]["name"], "path" => $path, "sortby" => $sortby), $this->Lang("confirmsingledirdelete"), false, false, "title='" . $this->Lang("delete") . "'"); $onerow->renameaction = $this->CreateLink($id, "renamefile", '', $this->GetActionIcon("rename"), array("filename" => $filelist[$i]["name"], "path" => $path, "sortby" => $sortby), "", false, false, "title='" . $this->Lang("rename") . "'"); } else { $warnmessage = $this->Lang("confirmsingledelete"); $onerow->deleteaction = $this->CreateLink($id, "deletefile", '', $this->GetActionIcon("delete"), array("filename" => $filelist[$i]["name"], "path" => $path, "sortby" => $sortby), $warnmessage, false, false, "title='" . $this->Lang("delete") . "'"); $onerow->renameaction = $this->CreateLink($id, "renamefile", '', $this->GetActionIcon("rename"), array("filename" => $filelist[$i]["name"], "path" => $path, "sortby" => $sortby), "", false, false, "title='" . $this->Lang("rename") . "'"); } } else { $onerow->writeprotected = "" . $this->Lang("notwritable") . "\n"; } if ($filelist[$i]["dir"]) { if ($this->CHModMakesSense()) { $onerow->chmodaction = $this->CreateLink($id, "chmoddir", '', $this->GetActionIcon("chmod"), array("dirname" => $filelist[$i]["name"], "path" => $path, "sortby" => $sortby), "", false, false, "title='" . $this->Lang("chmod") . "'"); } else { $onerow->chmodaction = " "; //$onerow->chmodaction=$this->CreateLink($id,"chmoddirwin",'',$this->GetActionIcon("chmod"),array("dirname"=>$filelist[$i]["name"],"path"=>$path,"sortby"=>$sortby),"",false,false,"title='".$this->Lang("chmod")."'"); } } else { if ($this->CHModMakesSense()) { $onerow->chmodaction = $this->CreateLink($id, "chmodfile", '', $this->GetActionIcon("chmod"), array("filename" => $filelist[$i]["name"], "path" => $path, "sortby" => $sortby), "", false, false, "title='" . $this->Lang("chmod") . "'"); } else { $onerow->chmodaction = $this->CreateLink($id, "chmodfilewin", '', $this->GetActionIcon("chmod"), array("filename" => $filelist[$i]["name"], "path" => $path, "sortby" => $sortby), "", false, false, "title='" . $this->Lang("chmod") . "'"); } } } array_push($files, $onerow); } $this->smarty->assign_by_ref('files', $files); $this->smarty->assign('itemcount', count($files)); $totalsize = $this->FormatFileSize($countfilesize); $counts = $totalsize["size"] . " " . $totalsize["unit"] . " " . $this->Lang("in") . " " . $countfiles . " "; if ($countfiles == 1) $counts.=$this->Lang("file"); else $counts.=$this->Lang("files"); $counts.=" " . $this->Lang("and") . " " . $countdirs . " "; if ($countdirs == 1) $counts.=$this->Lang("subdir"); else $counts.=$this->Lang("subdirs"); $this->smarty->assign('countstext', $counts); $this->smarty->assign('formend', $this->CreateFormEnd()); echo $this->ProcessTemplate('filemanager.tpl'); ?>