From 436ed820192d05299a639b45ade96f3916bb51f2 Mon Sep 17 00:00:00 2001 From: redray <redray@ispconfig3> Date: Mon, 01 Dec 2008 05:05:43 -0500 Subject: [PATCH] fixed some copyright notices --- server/lib/classes/file.inc.php | 520 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 260 insertions(+), 260 deletions(-) diff --git a/server/lib/classes/file.inc.php b/server/lib/classes/file.inc.php index e0bd12f..67a973c 100644 --- a/server/lib/classes/file.inc.php +++ b/server/lib/classes/file.inc.php @@ -1,6 +1,7 @@ <?php + /* -Copyright (c) 2007, projektfarm Gmbh, Till Brehm, Falko Timme +Copyright (c) 2007, Till Brehm, projektfarm Gmbh All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -27,165 +28,166 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - class file{ - -function rf($file){ - global $app; - clearstatcache(); - if(!$fp = fopen ($file, "rb")){ - $app->log("WARNING: could not open file ".$file, 2); - return false; - } else { - if(filesize($file) > 0){ - $content = fread($fp, filesize($file)); - } else { - $content = ""; - } - fclose($fp); - return $content; - } -} - -function wf($file, $content){ - global $app; - $this->mkdirs(dirname($file)); - if(!$fp = fopen ($file, "wb")){ - $app->log("WARNING: could not open file ".$file, 2); - return false; - } else { - fwrite($fp,$content); - fclose($fp); - return true; - } -} - -function af($file, $content){ - global $app; - $this->mkdirs(dirname($file)); - if(!$fp = fopen ($file, "ab")){ - $app->log("WARNING: could not open file ".$file, 2); - return false; - } else { - fwrite($fp,$content); - fclose($fp); - return true; - } -} - -function no_comments($file, $comment = '#'){ - $content = $this->unix_nl($this->rf($file)); - $lines = explode("\n", $content); - if(!empty($lines)){ - foreach($lines as $line){ - if(strstr($line, $comment)){ - $pos = strpos($line, $comment); - if($pos != 0){ - $new_lines[] = substr($line,0,$pos); - } else { - $new_lines[] = ""; - } + + function rf($file){ + global $app; + clearstatcache(); + if(!$fp = fopen ($file, "rb")){ + $app->log("WARNING: could not open file ".$file, 2); + return false; } else { - $new_lines[] = $line; + if(filesize($file) > 0){ + $content = fread($fp, filesize($file)); + } else { + $content = ""; + } + fclose($fp); + return $content; } } - } - if(is_array($new_lines)){ - $content_without_comments = implode("\n", $new_lines); - $new_lines = NULL; - return $content_without_comments; - } else { - return ""; - } -} - -function manual_entries($file, $separator = '#### MAKE MANUAL ENTRIES BELOW THIS LINE! ####'){ - if(is_file($file)){ - $content = $this->rf($file); - $parts = explode($separator, $content); - $manual = "\n".trim($parts[1]); - return $manual; - } else { - return ""; - } -} - -function remove_blank_lines($input, $file = 1){ - //Leerzeilen l�schen - if($file){ - $content = $this->unix_nl($this->rf($input)); - } else { - $content = $input; - } - $lines = explode("\n", $content); - if(!empty($lines)){ - foreach($lines as $line){ - if(trim($line) != "") $new_lines[] = $line; + + function wf($file, $content){ + global $app; + $this->mkdirs(dirname($file)); + if(!$fp = fopen ($file, "wb")){ + $app->log("WARNING: could not open file ".$file, 2); + return false; + } else { + fwrite($fp,$content); + fclose($fp); + return true; + } } - } - if(is_array($new_lines)){ - $content = implode("\n", $new_lines); - } else { - $content = ""; - } - if($file){ - $this->wf($input, $content); - } else { - return $content; - } -} - -function unix_nl($input){ - $output = str_replace("\r\n", "\n", $input); - $output = str_replace("\r", "\n", $output); - return $output; -} - -function fileowner($file){ - $owner_id = fileowner($file); - clearstatcache(); - return $owner_id; -} - -function mkdirs($strPath, $mode = '0755'){ - // Verzeichnisse rekursiv erzeugen - if(is_dir($strPath)) return true; - $pStrPath = dirname($strPath); - if(!$this->mkdirs($pStrPath, $mode)) return false; - $old_umask = umask(0); - $ret_val = mkdir($strPath, octdec($mode)); - umask($old_umask); - return $ret_val; -} - -function find_includes($file){ - ob_start(); - $httpd_root = system('httpd -V | awk -F"\"" \'$1==" -D HTTPD_ROOT="{print $2}\''); - ob_end_clean(); - clearstatcache(); - if(is_file($file) && filesize($file) > 0){ - $includes[] = $file; - $inhalt = $this->unix_nl($this->no_comments($file)); - $lines = explode("\n", $inhalt); - if(!empty($lines)){ - foreach($lines as $line){ - if(stristr($line, "include ")){ - $include_file = str_replace("\n", "", trim(shell_exec("echo \"$line\" | awk '{print \$2}'"))); - if(substr($include_file,0,1) != "/"){ - $include_file = $httpd_root."/".$include_file; - } - if(is_file($include_file)){ - if($further_includes = $this->find_includes($include_file)){ - $includes = array_merge($includes, $further_includes); + + function af($file, $content){ + global $app; + $this->mkdirs(dirname($file)); + if(!$fp = fopen ($file, "ab")){ + $app->log("WARNING: could not open file ".$file, 2); + return false; + } else { + fwrite($fp,$content); + fclose($fp); + return true; + } + } + + function no_comments($file, $comment = '#'){ + $content = $this->unix_nl($this->rf($file)); + $lines = explode("\n", $content); + if(!empty($lines)){ + foreach($lines as $line){ + if(strstr($line, $comment)){ + $pos = strpos($line, $comment); + if($pos != 0){ + $new_lines[] = substr($line,0,$pos); + } else { + $new_lines[] = ""; } } else { - if(strstr($include_file, "*")){ - $more_files = explode("\n", shell_exec("ls -l $include_file | awk '{print \$9}'")); - if(!empty($more_files)){ - foreach($more_files as $more_file){ - if(is_file($more_file)){ - if($further_includes = $this->find_includes($more_file)){ - $includes = array_merge($includes, $further_includes); + $new_lines[] = $line; + } + } + } + if(is_array($new_lines)){ + $content_without_comments = implode("\n", $new_lines); + $new_lines = NULL; + return $content_without_comments; + } else { + return ""; + } + } + + function manual_entries($file, $separator = '#### MAKE MANUAL ENTRIES BELOW THIS LINE! ####'){ + if(is_file($file)){ + $content = $this->rf($file); + $parts = explode($separator, $content); + $manual = "\n".trim($parts[1]); + return $manual; + } else { + return ""; + } + } + + function remove_blank_lines($input, $file = 1){ + //Leerzeilen l�schen + if($file){ + $content = $this->unix_nl($this->rf($input)); + } else { + $content = $input; + } + $lines = explode("\n", $content); + if(!empty($lines)){ + foreach($lines as $line){ + if(trim($line) != "") $new_lines[] = $line; + } + } + if(is_array($new_lines)){ + $content = implode("\n", $new_lines); + } else { + $content = ""; + } + if($file){ + $this->wf($input, $content); + } else { + return $content; + } + } + + function unix_nl($input){ + $output = str_replace("\r\n", "\n", $input); + $output = str_replace("\r", "\n", $output); + return $output; + } + + function fileowner($file){ + $owner_id = fileowner($file); + clearstatcache(); + return $owner_id; + } + + function mkdirs($strPath, $mode = '0755'){ + // Verzeichnisse rekursiv erzeugen + if(is_dir($strPath)) return true; + $pStrPath = dirname($strPath); + if(!$this->mkdirs($pStrPath, $mode)) return false; + $old_umask = umask(0); + $ret_val = mkdir($strPath, octdec($mode)); + umask($old_umask); + return $ret_val; + } + + function find_includes($file){ + ob_start(); + $httpd_root = system('httpd -V | awk -F"\"" \'$1==" -D HTTPD_ROOT="{print $2}\''); + ob_end_clean(); + clearstatcache(); + if(is_file($file) && filesize($file) > 0){ + $includes[] = $file; + $inhalt = $this->unix_nl($this->no_comments($file)); + $lines = explode("\n", $inhalt); + if(!empty($lines)){ + foreach($lines as $line){ + if(stristr($line, "include ")){ + $include_file = str_replace("\n", "", trim(shell_exec("echo \"$line\" | awk '{print \$2}'"))); + if(substr($include_file,0,1) != "/"){ + $include_file = $httpd_root."/".$include_file; + } + if(is_file($include_file)){ + if($further_includes = $this->find_includes($include_file)){ + $includes = array_merge($includes, $further_includes); + } + } else { + if(strstr($include_file, "*")){ + $more_files = explode("\n", shell_exec("ls -l $include_file | awk '{print \$9}'")); + if(!empty($more_files)){ + foreach($more_files as $more_file){ + if(is_file($more_file)){ + if($further_includes = $this->find_includes($more_file)){ + $includes = array_merge($includes, $further_includes); + } + } } } } @@ -194,126 +196,124 @@ } } } - } - } - if(is_array($includes)){ - $includes = array_unique($includes); - return $includes; - } else { - return false; - } -} - -function edit_dist($var, $val){ - global $$var; - $files = array("/root/ispconfig/dist.inc.php"); - foreach($files as $file){ - if(is_file($file)){ - $file_content = $this->unix_nl($this->rf($file)); - $lines = explode("\n", $file_content); - for($i=0;$i<sizeof($lines);$i++){ - $parts = explode("=", $lines[$i]); - if($parts[0] == $var || $parts[0] == '$'.$var.' '){ - $parts[1] = str_replace($$var, $val, $parts[1]); - } - $lines[$i] = implode("=", $parts); + if(is_array($includes)){ + $includes = array_unique($includes); + return $includes; + } else { + return false; } - $file_content = implode("\n", $lines); - $this->wf($file, $file_content); } - } -} - -function getDirectoryListing($dirname, $sortorder = "a", $show_subdirs = 0, $show_subdirfiles = 0, $exts = "", $ext_save = 1){ -// This function will return an array with filenames based on the criteria you can set in the variables -// @sortorder : a for ascending (the standard) or d for descending (you can use the "r" for reverse as well, works the same) -// @show_subdirs : 0 for NO, 1 for YES - meaning it will show the names of subdirectories if there are any -// Logically subdirnames will not be checked for the required extentions -// @show_subdirfiles : 0 for NO, 1 for YES - meaning it will show files from the subdirs -// Files from subdirs will be prefixed with the subdir name and checked for the required extentions. -// @exts can be either a string or an array, if not passed to the function, then the default will be a check for common image files -// If exts is set to "all" then all extentions are allowed -// @ext_save : 1 for YES, 0 for NO - meaning it will filter out system files or not (such as .htaccess) - - $dirname = realpath($dirname); - if (!$exts || empty($exts) || $exts == "") { - $exts = array("jpg", "gif", "jpeg", "png"); - } - if ($handle = opendir($dirname)) { - $filelist = array(); - while (false !== ($file = readdir($handle))) { - - // Filter out higher directory references - if ($file != "." && $file != "..") { - // Only look at directories or files, filter out symbolic links - if ( filetype ($dirname."/".$file) != "link") { - // If it's a file, check against valid extentions and add to the list - if ( filetype ($dirname."/".$file) == "file" ) { - if ($this->checkFileExtension($file, $exts, $ext_save)) { - $filelist[] = $file; - } - } - // If it's a directory and either subdirs should be listed or files from subdirs add relevant names to the list - else if ( filetype ($dirname."/".$file) == "dir" && ($show_subdirs == 1 || $show_subdirfiles == 1)) { - if ($show_subdirs == 1) { - $filelist[] = $file; - } - if ($show_subdirfiles == 1) { - $subdirname = $file; - $subdirfilelist = $this->getDirectoryListing($dirname."/".$subdirname."/", $sortorder, $show_subdirs, $show_subdirfiles, $exts, $ext_save); - for ($i = 0 ; $i < count($subdirfilelist) ; $i++) { - $subdirfilelist[$i] = $subdirname."/".$subdirfilelist[$i]; + + function edit_dist($var, $val){ + global $$var; + $files = array("/root/ispconfig/dist.inc.php"); + foreach($files as $file){ + if(is_file($file)){ + $file_content = $this->unix_nl($this->rf($file)); + $lines = explode("\n", $file_content); + for($i=0;$i<sizeof($lines);$i++){ + $parts = explode("=", $lines[$i]); + if($parts[0] == $var || $parts[0] == '$'.$var.' '){ + $parts[1] = str_replace($$var, $val, $parts[1]); + } + $lines[$i] = implode("=", $parts); + } + $file_content = implode("\n", $lines); + $this->wf($file, $file_content); + } + } + } + + function getDirectoryListing($dirname, $sortorder = "a", $show_subdirs = 0, $show_subdirfiles = 0, $exts = "", $ext_save = 1){ + // This function will return an array with filenames based on the criteria you can set in the variables + // @sortorder : a for ascending (the standard) or d for descending (you can use the "r" for reverse as well, works the same) + // @show_subdirs : 0 for NO, 1 for YES - meaning it will show the names of subdirectories if there are any + // Logically subdirnames will not be checked for the required extentions + // @show_subdirfiles : 0 for NO, 1 for YES - meaning it will show files from the subdirs + // Files from subdirs will be prefixed with the subdir name and checked for the required extentions. + // @exts can be either a string or an array, if not passed to the function, then the default will be a check for common image files + // If exts is set to "all" then all extentions are allowed + // @ext_save : 1 for YES, 0 for NO - meaning it will filter out system files or not (such as .htaccess) + + $dirname = realpath($dirname); + if (!$exts || empty($exts) || $exts == "") { + $exts = array("jpg", "gif", "jpeg", "png"); + } + if ($handle = opendir($dirname)) { + $filelist = array(); + while (false !== ($file = readdir($handle))) { + + // Filter out higher directory references + if ($file != "." && $file != "..") { + // Only look at directories or files, filter out symbolic links + if ( filetype ($dirname."/".$file) != "link") { + // If it's a file, check against valid extentions and add to the list + if ( filetype ($dirname."/".$file) == "file" ) { + if ($this->checkFileExtension($file, $exts, $ext_save)) { + $filelist[] = $file; } - $filelist = array_merge($filelist, $subdirfilelist); } - + // If it's a directory and either subdirs should be listed or files from subdirs add relevant names to the list + else if ( filetype ($dirname."/".$file) == "dir" && ($show_subdirs == 1 || $show_subdirfiles == 1)) { + if ($show_subdirs == 1) { + $filelist[] = $file; + } + if ($show_subdirfiles == 1) { + $subdirname = $file; + $subdirfilelist = $this->getDirectoryListing($dirname."/".$subdirname."/", $sortorder, $show_subdirs, $show_subdirfiles, $exts, $ext_save); + for ($i = 0 ; $i < count($subdirfilelist) ; $i++) { + $subdirfilelist[$i] = $subdirname."/".$subdirfilelist[$i]; + } + $filelist = array_merge($filelist, $subdirfilelist); + } + + } + } - } } - } - closedir($handle); - - // Sort the results - if (count($filelist) > 1) { - natcasesort($filelist); - if ($sortorder == "d" || $sortorder == "r" ) { - $filelist = array_reverse($filelist, TRUE); + closedir($handle); + + // Sort the results + if (count($filelist) > 1) { + natcasesort($filelist); + if ($sortorder == "d" || $sortorder == "r" ) { + $filelist = array_reverse($filelist, TRUE); + } } + return $filelist; } - return $filelist; - } - else { - return false; - } -} - -function checkFileExtension($filename, $exts, $ext_save = 1){ - $passed = FALSE; - if ($ext_save == 1) { - if (preg_match("/^\./", $filename)) { - return $passed; + else { + return false; } - } - if ($exts == "all") { - $passed = TRUE; - return $passed; - } - if (is_string($exts)) { - if (eregi("\.". $exts ."$", $filename)) { - $passed = TRUE; - return $passed; - } - } else if (is_array($exts)) { - foreach ($exts as $theExt) { - if (eregi("\.". $theExt ."$", $filename)) { - $passed = TRUE; + } + + function checkFileExtension($filename, $exts, $ext_save = 1){ + $passed = FALSE; + if ($ext_save == 1) { + if (preg_match("/^\./", $filename)) { return $passed; } } - } - return $passed; -} + if ($exts == "all") { + $passed = TRUE; + return $passed; + } + if (is_string($exts)) { + if (eregi("\.". $exts ."$", $filename)) { + $passed = TRUE; + return $passed; + } + } else if (is_array($exts)) { + foreach ($exts as $theExt) { + if (eregi("\.". $theExt ."$", $filename)) { + $passed = TRUE; + return $passed; + } + } + } + return $passed; + } } ?> \ No newline at end of file -- Gitblit v1.9.1