function fma_filter($type, $filename, $Extension) { $autorise = false; $error = ""; if ($type == "f") { $filename = removeHack($filename); } $filename = preg_replace('#[/\\\\:\\*\\?"<>|]#i', '', rawurldecode($filename)); $filename = str_replace("..", "", $filename); // Liste des extensions autorisées $suffix = strtoLower(substr(strrchr($filename, '.'), 1)); if ($suffix != "" or $type == "d") { if (in_array($suffix, $Extension) or $Extension[0] == "*" or $type == "d") { // Fichiers interdits en fonction de qui est connecté if (fma_autorise($type, $filename)) { $autorise = true; } else { $error = fma_translate("Fichier interdit"); } } else { $error = fma_translate("Type de fichier interdit"); } } else { $error = fma_translate("Fichier interdit"); } $tab[] = $autorise; $tab[] = $error; $tab[] = $filename; return $tab; }
function RemoveDir($dir) { if ($handle = @opendir($dir)) { closedir($handle); if (!@rmdir($dir)) { $this->Errors = fma_translate("Impossible de supprimer") . " : " . basename($dir); } } if ($this->Errors != "") { return false; } else { return true; } }