From a5fe2742b8e90e7bb2ee4a3a9df3ea64afd6eaff Mon Sep 17 00:00:00 2001 From: xaver <xaver@ispconfig3> Date: Fri, 09 Sep 2011 14:09:31 -0400 Subject: [PATCH] Fixed #1390 - Added 3ware controller (was my script i use 3ware) --- server/lib/classes/system.inc.php | 83 +++++++++++++++++++++++++---------------- 1 files changed, 51 insertions(+), 32 deletions(-) diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php index c194881..5de2f81 100644 --- a/server/lib/classes/system.inc.php +++ b/server/lib/classes/system.inc.php @@ -926,7 +926,7 @@ * */ function network_info(){ - $dist = $this->server_conf["dist"]; + $dist = $this->server_conf['dist']; ob_start(); passthru('ifconfig'); $output = ob_get_contents(); @@ -950,9 +950,9 @@ } $output = trim(ob_get_contents()); ob_end_clean(); - if($output != ""){ - $ifconfig["INTERFACE"][$interface] = $output; - $ifconfig["IP"][$output] = $interface; + if($output != ''){ + $ifconfig['INTERFACE'][$interface] = $output; + $ifconfig['IP'][$output] = $interface; } } if(!empty($ifconfig)){ @@ -1087,23 +1087,23 @@ if ($urlHandle){ socket_set_timeout($urlHandle, $timeout); - $urlString = 'GET '.$path." HTTP/1.0\r\nHost: ".$url_parts["host"]."\r\nConnection: Keep-Alive\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n"; + $urlString = 'GET '.$path." HTTP/1.0\r\nHost: ".$url_parts['host']."\r\nConnection: Keep-Alive\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n"; if ($user) $urlString .= 'Authorization: Basic '.base64_encode($user.':'.$pass)."\r\n"; $urlString .= "\r\n"; fputs($urlHandle, $urlString); - $month["Jan"] = '01'; - $month["Feb"] = '02'; - $month["Mar"] = '03'; - $month["Apr"] = '04'; - $month["May"] = '05'; - $month["Jun"] = '06'; - $month["Jul"] = '07'; - $month["Aug"] = '08'; - $month["Sep"] = '09'; - $month["Oct"] = '10'; - $month["Nov"] = '11'; - $month["Dec"] = '12'; + $month['Jan'] = '01'; + $month['Feb'] = '02'; + $month['Mar'] = '03'; + $month['Apr'] = '04'; + $month['May'] = '05'; + $month['Jun'] = '06'; + $month['Jul'] = '07'; + $month['Aug'] = '08'; + $month['Sep'] = '09'; + $month['Oct'] = '10'; + $month['Nov'] = '11'; + $month['Dec'] = '12'; $c = 0; $l = 0; $startzeit = time(); @@ -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); } @@ -1187,32 +1189,49 @@ global $app; if($subfolder != '') { - $dir = escapeshellarg($maildir_path.'/.'.$subfolder); - $dir_cur = escapeshellarg($maildir_path.'/.'.$subfolder.'/cur'); - $dir_new = escapeshellarg($maildir_path.'/.'.$subfolder.'/new'); - $dir_tmp = escapeshellarg($maildir_path.'/.'.$subfolder.'/tmp'); + $dir = escapeshellcmd($maildir_path.'/.'.$subfolder); } else { - $dir = escapeshellarg($maildir_path); - $dir_cur = escapeshellarg($maildir_path.'/cur'); - $dir_new = escapeshellarg($maildir_path.'/new'); - $dir_tmp = escapeshellarg($maildir_path.'/tmp'); + $dir = escapeshellcmd($maildir_path); } - exec("mkdir -p $dir_cur $dir_new $dir_tmp"); - exec("chmod 0700 $dir $dir_cur $dir_new $dir_tmp"); + 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; + if(is_dir($dir)) chown($dir,$user); + if(is_dir($dir)) chgrp($dir,$group); + + $chown_mdsub = true; + } + $maildirsubs = array('cur','new','tmp'); + + foreach ($maildirsubs as $mdsub) { + if(!is_dir($dir.'/'.$mdsub)) mkdir($dir.'/'.$mdsub, 0700, true); + if ($chown_mdsub) { + chown($dir.'/'.$mdsub, $user); + chgrp($dir.'/'.$mdsub, $group); + } + } + + chmod($dir, 0700); + + /* if($user != '' && $this->is_user($user) && $user != 'root') { - $user = escapeshellarg($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; exec("chown $user:$group $dir $dir_cur $dir_new $dir_tmp"); } + */ //* Add the subfolder to the subscriptions and courierimapsubscribed files if($subfolder != '') { // Courier if(!is_file($maildir_path.'/courierimapsubscribed')) { - $tmp_file = escapeshellarg($maildir_path.'/courierimapsubscribed'); + $tmp_file = escapeshellcmd($maildir_path.'/courierimapsubscribed'); touch($tmp_file); chmod($tmp_file, 0744); chown($tmp_file,'vmail'); @@ -1222,7 +1241,7 @@ // Dovecot if(!is_file($maildir_path.'/subscriptions')) { - $tmp_file = escapeshellarg($maildir_path.'/subscriptions'); + $tmp_file = escapeshellcmd($maildir_path.'/subscriptions'); touch($tmp_file); chmod($tmp_file, 0744); chown($tmp_file,'vmail'); -- Gitblit v1.9.1