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