From b5715fb4a82d6494e6fba5ffcc1b0af3c9d2421c Mon Sep 17 00:00:00 2001 From: cfoe <cfoe@ispconfig3> Date: Sat, 07 Jul 2012 13:12:41 -0400 Subject: [PATCH] removed hardcoded width for list search_limit select-element -> css defined --- server/lib/classes/system.inc.php | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 53 insertions(+), 5 deletions(-) diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php index bd42903..323ffe5 100644 --- a/server/lib/classes/system.inc.php +++ b/server/lib/classes/system.inc.php @@ -1157,9 +1157,11 @@ if($found == 0) { //* add \n if the last line does not end with \n or \r - if(substr($out,-1) != "\n" && substr($out,-1) != "\r") $out .= "\n"; + if(substr($out,-1) != "\n" && substr($out,-1) != "\r" && filesize($filename) > 0) $out .= "\n"; //* add the new line at the end of the file - if($append == 1) $out .= $new_line."\n"; + if($append == 1) { + $out .= $new_line."\n"; + } } file_put_contents($filename,$out); } @@ -1191,13 +1193,15 @@ } else { $dir = escapeshellcmd($maildir_path); } + + if(!is_dir($dir)) mkdir($dir, 0700, true); if($user != '' && $user != 'root' && $this->is_user($user)) { $user = escapeshellcmd($user); // I assume that the name of the (vmail group) is the same as the name of the mail user in ISPConfig 3 $group = $user; - chown($dir,$user); - chgrp($dir,$group); + if(is_dir($dir)) chown($dir,$user); + if(is_dir($dir)) chgrp($dir,$group); $chown_mdsub = true; } @@ -1205,7 +1209,7 @@ $maildirsubs = array('cur','new','tmp'); foreach ($maildirsubs as $mdsub) { - mkdir($dir.'/'.$mdsub, 0700, true); + if(!is_dir($dir.'/'.$mdsub)) mkdir($dir.'/'.$mdsub, 0700, true); if ($chown_mdsub) { chown($dir.'/'.$mdsub, $user); chgrp($dir.'/'.$mdsub, $group); @@ -1249,6 +1253,50 @@ $app->log('Created Maildir '.$maildir_path.' with subfolder: '.$subfolder,LOGLEVEL_DEBUG); } + + //* Function to create directory paths and chown them to a user and group + function mkdirpath($path, $mode = 0755, $user = '', $group = '') { + $path_parts = explode('/',$path); + $new_path = ''; + if(is_array($path_parts)) { + foreach($path_parts as $part) { + $new_path .= '/'.$part; + if(!@is_dir($new_path)) { + mkdir($new_path); + chmod($new_path,$mode); + if($user != '') chown($new_path,$user); + if($group != '') chgrp($new_path,$group); + } + } + } + + } + + //* Check if a application is installed + function is_installed($appname) { + exec('which '.escapeshellcmd($appname).' 2> /dev/null',$out,$returncode); + if(isset($out[0]) && stristr($out[0],$appname) && $returncode == 0) { + return true; + } else { + return false; + } + } + + function web_folder_protection($document_root,$protect) { + global $app,$conf; + + //* load the server configuration options + $app->uses('getconf'); + $web_config = $app->getconf->get_server_config($conf['server_id'], 'web'); + + if($protect == true && $web_config['web_folder_protection'] == 'y') { + //* Add protection + if($document_root != '' && $document_root != '/' && strlen($document_root) > 6 && !stristr($document_root,'..')) exec('chattr +i '.escapeshellcmd($document_root)); + } else { + //* Remove protection + if($document_root != '' && $document_root != '/' && strlen($document_root) > 6 && !stristr($document_root,'..')) exec('chattr -i '.escapeshellcmd($document_root)); + } + } } ?> -- Gitblit v1.9.1