From 3b4c2882421366d9df1df36b7344be7fd9a4b2e1 Mon Sep 17 00:00:00 2001
From: jwarnier <jwarnier@ispconfig3>
Date: Sun, 05 Sep 2010 09:32:46 -0400
Subject: [PATCH] fix some strings quoting and remove some execs
---
server/lib/classes/system.inc.php | 481 +++++++++++++++++++++++++++--------------------------
1 files changed, 244 insertions(+), 237 deletions(-)
diff --git a/server/lib/classes/system.inc.php b/server/lib/classes/system.inc.php
index 260c214..c194881 100644
--- a/server/lib/classes/system.inc.php
+++ b/server/lib/classes/system.inc.php
@@ -30,7 +30,7 @@
class system{
- var $FILE = "/root/ispconfig/scripts/lib/classes/ispconfig_system.lib.php";
+ var $FILE = '/root/ispconfig/scripts/lib/classes/ispconfig_system.lib.php';
var $server_id;
var $server_conf;
var $data;
@@ -42,11 +42,11 @@
*/
public function system(){
global $go_info;
- $this->server_id = $go_info["isp"]["server_id"];
- $this->server_conf = $go_info["isp"]["server_conf"];
- $this->server_conf["passwd_datei"] = '/etc/passwd';
- $this->server_conf["shadow_datei"] = '/etc/shadow';
- $this->server_conf["group_datei"] = '/etc/group';
+ $this->server_id = $go_info['isp']['server_id'];
+ $this->server_conf = $go_info['isp']['server_conf'];
+ $this->server_conf['passwd_datei'] = '/etc/passwd';
+ $this->server_conf['shadow_datei'] = '/etc/shadow';
+ $this->server_conf['group_datei'] = '/etc/group';
}
/**
@@ -55,18 +55,18 @@
* @return string
*/
public function hostname(){
- $dist = $this->server_conf["dist"];
+ $dist = $this->server_conf['dist'];
ob_start();
- passthru("hostname");
+ passthru('hostname');
$hostname = ob_get_contents();
ob_end_clean();
$hostname = trim($hostname);
ob_start();
- if(!strstr($dist, "freebsd")){
- passthru("dnsdomainname");
+ if(!strstr($dist, 'freebsd')){
+ passthru('dnsdomainname');
} else {
- passthru("domainname");
+ passthru('domainname');
}
$domainname = ob_get_contents();
ob_end_clean();
@@ -87,14 +87,14 @@
return false;
} else {
if(trim($user_username) != '') {
- $user_datei = $this->server_conf["passwd_datei"];
- $shadow_datei = $this->server_conf["shadow_datei"];
+ $user_datei = $this->server_conf['passwd_datei'];
+ $shadow_datei = $this->server_conf['shadow_datei'];
$shell = realpath($shell);
- if(trim($passwort) == "") $passwort = '*';
+ if(trim($passwort) == '') $passwort = '*';
$new_user = "\n$user_username:x:$uid:$gid:$username:$homedir:$shell\n";
- $app->log->msg("USER: $new_user");
+ $app->log->msg('USER: '.$new_user);
$app->file->af($user_datei, $new_user);
- if($shadow_datei == "/etc/shadow"){
+ if($shadow_datei == '/etc/shadow'){
$datum = time();
$tage = floor($datum/86400);
$new_passwd = "\n$user_username:$passwort:$tage:0:99999:7:::\n";
@@ -107,7 +107,7 @@
$app->file->remove_blank_lines($user_datei);
// TB: user Sortierung deaktiviert
//$this->order_users_groups();
- if($shadow_datei != "/etc/shadow"){
+ if($shadow_datei != '/etc/shadow'){
$app->file->af($shadow_datei, "\n");
// TB: leere Zeilen entfernen
$app->file->remove_blank_lines($shadow_datei);
@@ -136,11 +136,11 @@
function deactivateuser($user_username){
$passwort = str_rot13($this->getpasswd($user_username));
$user_attr = $this->get_user_attributes($user_username);
- $uid = $user_attr["uid"];
- $gid = $user_attr["gid"];
- $username = $user_attr["name"];
- $homedir = $user_attr["homedir"];
- $shell = "/dev/null";
+ $uid = $user_attr['uid'];
+ $gid = $user_attr['gid'];
+ $username = $user_attr['name'];
+ $homedir = $user_attr['homedir'];
+ $shell = '/dev/null';
$this->deluser($user_username);
$this->adduser($user_username, $uid, $gid, $username, $homedir, $shell, $passwort);
}
@@ -151,15 +151,15 @@
function deluser($user_username){
global $app;
if($this->is_user($user_username)){
- $user_datei = $this->server_conf["passwd_datei"];
- $shadow_datei = $this->server_conf["shadow_datei"];
+ $user_datei = $this->server_conf['passwd_datei'];
+ $shadow_datei = $this->server_conf['shadow_datei'];
$users = $app->file->rf($user_datei);
$lines = explode("\n", $users);
if(is_array($lines)){
$num_lines = sizeof($lines);
for($i=0;$i<$num_lines;$i++){
- if(trim($lines[$i]) != ""){
- list($f1,) = explode(":", $lines[$i]);
+ if(trim($lines[$i]) != ''){
+ list($f1,) = explode(':', $lines[$i]);
if($f1 != $user_username) $new_lines[] = $lines[$i];
}
}
@@ -176,8 +176,8 @@
if(is_array($lines)){
$num_lines = sizeof($lines);
for($i=0;$i<$num_lines;$i++){
- if(trim($lines[$i]) != ""){
- list($f1,) = explode(":", $lines[$i]);
+ if(trim($lines[$i]) != ''){
+ list($f1,) = explode(':', $lines[$i]);
if($f1 != $user_username) $new_lines[] = $lines[$i];
}
}
@@ -189,28 +189,28 @@
}
$app->file->remove_blank_lines($shadow_datei);
- $group_file = $app->file->rf($this->server_conf["group_datei"]);
+ $group_file = $app->file->rf($this->server_conf['group_datei']);
$group_file_lines = explode("\n", $group_file);
foreach($group_file_lines as $group_file_line){
- if(trim($group_file_line) != ""){
- list($f1, $f2, $f3, $f4) = explode(":", $group_file_line);
- $group_users = explode(",", str_replace(" ", "", $f4));
+ if(trim($group_file_line) != ''){
+ list($f1, $f2, $f3, $f4) = explode(':', $group_file_line);
+ $group_users = explode(',', str_replace(' ', '', $f4));
if(in_array($user_username, $group_users)){
$g_users = array();
foreach($group_users as $group_user){
if($group_user != $user_username) $g_users[] = $group_user;
}
- $f4 = implode(",", $g_users);
+ $f4 = implode(',', $g_users);
}
- $new_group_file[] = $f1.":".$f2.":".$f3.":".$f4;
+ $new_group_file[] = $f1.':'.$f2.':'.$f3.':'.$f4;
}
}
$new_group_file = implode("\n", $new_group_file);
- $app->file->wf($this->server_conf["group_datei"], $new_group_file);
+ $app->file->wf($this->server_conf['group_datei'], $new_group_file);
// TB: auskommentiert
//$this->order_users_groups();
- if($shadow_datei != "/etc/shadow"){
+ if($shadow_datei != '/etc/shadow'){
$app->file->af($shadow_datei, "\n");
$app->log->caselog("pwd_mkdb $shadow_datei &> /dev/null", $this->FILE, __LINE__);
}
@@ -229,14 +229,14 @@
if($this->is_group($group)){
return false;
} else {
- $group_datei = $this->server_conf["group_datei"];
- $shadow_datei = $this->server_conf["shadow_datei"];
+ $group_datei = $this->server_conf['group_datei'];
+ $shadow_datei = $this->server_conf['shadow_datei'];
$new_group = "\n$group:x:$gid:$members\n";
$app->file->af($group_datei, $new_group);
// TB: auskommentiert
//$this->order_users_groups();
- if($shadow_datei != "/etc/shadow"){
+ if($shadow_datei != '/etc/shadow'){
$app->log->caselog("pwd_mkdb $shadow_datei &> /dev/null", $this->FILE, __LINE__);
}
return true;
@@ -259,15 +259,15 @@
function delgroup($group){
global $app;
if($this->is_group($group)){
- $group_datei = $this->server_conf["group_datei"];
- $shadow_datei = $this->server_conf["shadow_datei"];
+ $group_datei = $this->server_conf['group_datei'];
+ $shadow_datei = $this->server_conf['shadow_datei'];
$groups = $app->file->rf($group_datei);
$lines = explode("\n", $groups);
if(is_array($lines)){
$num_lines = sizeof($lines);
for($i=0;$i<$num_lines;$i++){
- if(trim($lines[$i]) != ""){
- list($f1,) = explode(":", $lines[$i]);
+ if(trim($lines[$i]) != ''){
+ list($f1,) = explode(':', $lines[$i]);
if($f1 != $group) $new_lines[] = $lines[$i];
}
}
@@ -279,7 +279,7 @@
}
// TB: auskommentiert
//$this->order_users_groups();
- if($shadow_datei != "/etc/shadow"){
+ if($shadow_datei != '/etc/shadow'){
$app->log->caselog("pwd_mkdb $shadow_datei &> /dev/null", $this->FILE, __LINE__);
}
return true;
@@ -293,23 +293,23 @@
*/
function order_users_groups(){
global $app;
- $user_datei = $this->server_conf["passwd_datei"];
- $shadow_datei = $this->server_conf["shadow_datei"];
- $group_datei = $this->server_conf["group_datei"];
+ $user_datei = $this->server_conf['passwd_datei'];
+ $shadow_datei = $this->server_conf['shadow_datei'];
+ $group_datei = $this->server_conf['group_datei'];
$groups = $app->file->no_comments($group_datei);
$lines = explode("\n", $groups);
if(is_array($lines)){
foreach($lines as $line){
- if(trim($line) != ""){
- list($f1, $f2, $f3, $f4) = explode(":", $line);
+ if(trim($line) != ''){
+ list($f1, $f2, $f3, $f4) = explode(':', $line);
$arr[$f3] = $line;
}
}
}
ksort($arr);
reset($arr);
- if($shadow_datei != "/etc/shadow"){
+ if($shadow_datei != '/etc/shadow'){
$app->file->wf($group_datei, $app->file->remove_blank_lines(implode("\n", $arr), 0)."\n");
}else {
$app->file->wf($group_datei, $app->file->remove_blank_lines(implode("\n", $arr), 0));
@@ -321,8 +321,8 @@
if(is_array($lines)){
foreach($lines as $line){
if(trim($line) != ""){
- list($f1, $f2, $f3,) = explode(":", $line);
- if($f1 != "toor"){
+ list($f1, $f2, $f3,) = explode(':', $line);
+ if($f1 != 'toor'){
$arr[$f3] = $line;
} else {
$arr[70000] = $line;
@@ -339,9 +339,9 @@
$lines = explode("\n", $passwds);
if(is_array($lines)){
foreach($lines as $line){
- if(trim($line) != ""){
- list($f1, $f2, $f3,) = explode(":", $line);
- if($f1 != "toor"){
+ if(trim($line) != ''){
+ list($f1, $f2, $f3,) = explode(':', $line);
+ if($f1 != 'toor'){
$uid = $this->getuid($f1);
if(!is_bool($uid)) $arr[$uid] = $line;
} else {
@@ -366,15 +366,15 @@
for($i=$min;$i<=$max;$i++){
$uid_arr[$i] = $gid_arr[$i] = 1;
}
- $user_datei = $this->server_conf["passwd_datei"];
- $group_datei = $this->server_conf["group_datei"];
+ $user_datei = $this->server_conf['passwd_datei'];
+ $group_datei = $this->server_conf['group_datei'];
$users = $app->file->no_comments($user_datei);
$lines = explode("\n", $users);
if(is_array($lines)){
foreach($lines as $line){
- if(trim($line) != ""){
- list($f1, $f2, $f3, $f4, $f5, $f6, $f7) = explode(":", $line);
+ if(trim($line) != ''){
+ list($f1, $f2, $f3, $f4, $f5, $f6, $f7) = explode(':', $line);
if($f3 >= $min && $f3 <= $max) unset($uid_arr[$f3]);
}
}
@@ -393,8 +393,8 @@
$lines = explode("\n", $groups);
if(is_array($lines)){
foreach($lines as $line){
- if(trim($line) != ""){
- list($f1, $f2, $f3, $f4) = explode(":", $line);
+ if(trim($line) != ''){
+ list($f1, $f2, $f3, $f4) = explode(':', $line);
if($f3 >= $min && $f3 <= $max) unset($gid_arr[$f3]);
}
}
@@ -430,13 +430,13 @@
*/
function is_user($user){
global $app;
- $user_datei = $this->server_conf["passwd_datei"];
+ $user_datei = $this->server_conf['passwd_datei'];
$users = $app->file->no_comments($user_datei);
$lines = explode("\n", $users);
if(is_array($lines)){
foreach($lines as $line){
- if(trim($line) != ""){
- list($f1, $f2, $f3, $f4, $f5, $f6, $f7) = explode(":", $line);
+ if(trim($line) != ''){
+ list($f1, $f2, $f3, $f4, $f5, $f6, $f7) = explode(':', $line);
if($f1 == $user) return true;
}
}
@@ -450,13 +450,13 @@
*/
function is_group($group){
global $app;
- $group_datei = $this->server_conf["group_datei"];
+ $group_datei = $this->server_conf['group_datei'];
$groups = $app->file->no_comments($group_datei);
$lines = explode("\n", $groups);
if(is_array($lines)){
foreach($lines as $line){
if(trim($line) != ""){
- list($f1, $f2, $f3, $f4) = explode(":", $line);
+ list($f1, $f2, $f3, $f4) = explode(':', $line);
if($f1 == $group) return true;
}
}
@@ -488,13 +488,13 @@
function root_group(){
global $app;
- $group_datei = $this->server_conf["group_datei"];
+ $group_datei = $this->server_conf['group_datei'];
$groups = $app->file->no_comments($group_datei);
$lines = explode("\n", $groups);
if(is_array($lines)){
foreach($lines as $line){
- if(trim($line) != ""){
- list($f1, $f2, $f3, $f4) = explode(":", $line);
+ if(trim($line) != ''){
+ list($f1, $f2, $f3, $f4) = explode(':', $line);
if($f3 == 0) return $f1;
}
}
@@ -509,14 +509,14 @@
function get_user_groups($username){
global $app;
$user_groups = array();
- $group_datei = $this->server_conf["group_datei"];
+ $group_datei = $this->server_conf['group_datei'];
$groups = $app->file->no_comments($group_datei);
$lines = explode("\n", $groups);
if(is_array($lines)){
foreach($lines as $line){
- if(trim($line) != ""){
- list($f1, $f2, $f3, $f4) = explode(":", $line);
- if(intval($f3) < intval($this->server_conf["groupid_von"]) && trim($f1) != 'users'){
+ if(trim($line) != ''){
+ list($f1, $f2, $f3, $f4) = explode(':', $line);
+ if(intval($f3) < intval($this->server_conf['groupid_von']) && trim($f1) != 'users'){
$tmp_group_users = explode(',', str_replace(' ', '', $f4));
if(in_array($username, $tmp_group_users) && trim($f1) != '') $user_groups[] = $f1;
unset($tmp_group_users);
@@ -535,13 +535,13 @@
function getpasswd($user){
global $app;
if($this->is_user($user)){
- $shadow_datei = $this->server_conf["shadow_datei"];
+ $shadow_datei = $this->server_conf['shadow_datei'];
$passwds = $app->file->no_comments($shadow_datei);
$lines = explode("\n", $passwds);
if(is_array($lines)){
foreach($lines as $line){
- if(trim($line) != ""){
- list($f1, $f2,) = explode(":", $line);
+ if(trim($line) != ''){
+ list($f1, $f2,) = explode(':', $line);
if($f1 == $user) return $f2;
}
}
@@ -558,13 +558,13 @@
function getuid($user){
global $app;
if($this->is_user($user)){
- $user_datei = $this->server_conf["passwd_datei"];
+ $user_datei = $this->server_conf['passwd_datei'];
$users = $app->file->no_comments($user_datei);
$lines = explode("\n", $users);
if(is_array($lines)){
foreach($lines as $line){
- if(trim($line) != ""){
- list($f1, $f2, $f3,) = explode(":", $line);
+ if(trim($line) != ''){
+ list($f1, $f2, $f3,) = explode(':', $line);
if($f1 == $user) return $f3;
}
}
@@ -581,21 +581,21 @@
function get_user_attributes($user){
global $app;
if($this->is_user($user)){
- $user_datei = $this->server_conf["passwd_datei"];
+ $user_datei = $this->server_conf['passwd_datei'];
$users = $app->file->no_comments($user_datei);
$lines = explode("\n", $users);
if(is_array($lines)){
foreach($lines as $line){
- if(trim($line) != ""){
- list($f1, $f2, $f3, $f4, $f5, $f6, $f7) = explode(":", $line);
+ if(trim($line) != ''){
+ list($f1, $f2, $f3, $f4, $f5, $f6, $f7) = explode(':', $line);
if($f1 == $user){
- $user_attr["username"] = $f1;
- $user_attr["x"] = $f2;
- $user_attr["uid"] = $f3;
- $user_attr["gid"] = $f4;
- $user_attr["name"] = $f5;
- $user_attr["homedir"] = $f6;
- $user_attr["shell"] = $f7;
+ $user_attr['username'] = $f1;
+ $user_attr['x'] = $f2;
+ $user_attr['uid'] = $f3;
+ $user_attr['gid'] = $f4;
+ $user_attr['name'] = $f5;
+ $user_attr['homedir'] = $f6;
+ $user_attr['shell'] = $f7;
return $user_attr;
}
}
@@ -612,7 +612,7 @@
*/
function chown($file, $owner, $group = ''){
$owner_change = @chown($file, $owner);
- if($group != ""){
+ if($group != ''){
$group_change = @chgrp($file, $group);
} else {
$group_change = 1;
@@ -630,62 +630,62 @@
*/
function add_user_to_group($group, $user = 'admispconfig'){
global $app;
- $group_file = $app->file->rf($this->server_conf["group_datei"]);
+ $group_file = $app->file->rf($this->server_conf['group_datei']);
$group_file_lines = explode("\n", $group_file);
foreach($group_file_lines as $group_file_line){
- list($group_name,$group_x,$group_id,$group_users) = explode(":",$group_file_line);
+ list($group_name,$group_x,$group_id,$group_users) = explode(':',$group_file_line);
if($group_name == $group){
- $group_users = explode(",", str_replace(" ", "", $group_users));
+ $group_users = explode(',', str_replace(' ', '', $group_users));
if(!in_array($user, $group_users)){
$group_users[] = $user;
}
- $group_users = implode(",", $group_users);
- if(substr($group_users,0,1) == ",") $group_users = substr($group_users,1);
- $group_file_line = $group_name.":".$group_x.":".$group_id.":".$group_users;
+ $group_users = implode(',', $group_users);
+ if(substr($group_users,0,1) == ',') $group_users = substr($group_users,1);
+ $group_file_line = $group_name.':'.$group_x.':'.$group_id.':'.$group_users;
}
$new_group_file[] = $group_file_line;
}
$new_group_file = implode("\n", $new_group_file);
- $app->file->wf($this->server_conf["group_datei"], $new_group_file);
- $app->file->remove_blank_lines($this->server_conf["group_datei"]);
- if($this->server_conf["shadow_datei"] != "/etc/shadow"){
- $app->log->caselog("pwd_mkdb ".$this->server_conf["shadow_datei"]." &> /dev/null", $this->FILE, __LINE__);
+ $app->file->wf($this->server_conf['group_datei'], $new_group_file);
+ $app->file->remove_blank_lines($this->server_conf['group_datei']);
+ if($this->server_conf['shadow_datei'] != '/etc/shadow'){
+ $app->log->caselog('pwd_mkdb '.$this->server_conf['shadow_datei'].' &> /dev/null', $this->FILE, __LINE__);
}
}
function usermod($user, $groups){
global $app;
if($this->is_user($user)){
- $groups = explode(",", str_replace(" ", "", $groups));
- $group_file = $app->file->rf($this->server_conf["group_datei"]);
+ $groups = explode(',', str_replace(' ', '', $groups));
+ $group_file = $app->file->rf($this->server_conf['group_datei']);
$group_file_lines = explode("\n", $group_file);
foreach($group_file_lines as $group_file_line){
if(trim($group_file_line) != ""){
- list($f1, $f2, $f3, $f4) = explode(":", $group_file_line);
- $group_users = explode(",", str_replace(" ", "", $f4));
+ list($f1, $f2, $f3, $f4) = explode(':', $group_file_line);
+ $group_users = explode(',', str_replace(' ', '', $f4));
if(!in_array($f1, $groups)){
if(in_array($user, $group_users)){
$g_users = array();
foreach($group_users as $group_user){
if($group_user != $user) $g_users[] = $group_user;
}
- $f4 = implode(",", $g_users);
+ $f4 = implode(',', $g_users);
}
} else {
if(!in_array($user, $group_users)){
- if(trim($group_users[0]) == "") unset($group_users);
+ if(trim($group_users[0]) == '') unset($group_users);
$group_users[] = $user;
}
- $f4 = implode(",", $group_users);
+ $f4 = implode(',', $group_users);
}
- $new_group_file[] = $f1.":".$f2.":".$f3.":".$f4;
+ $new_group_file[] = $f1.':'.$f2.':'.$f3.':'.$f4;
}
}
$new_group_file = implode("\n", $new_group_file);
- $app->file->wf($this->server_conf["group_datei"], $new_group_file);
- $app->file->remove_blank_lines($this->server_conf["group_datei"]);
- if($this->server_conf["shadow_datei"] != "/etc/shadow"){
- $app->log->caselog("pwd_mkdb ".$this->server_conf["shadow_datei"]." &> /dev/null", $this->FILE, __LINE__);
+ $app->file->wf($this->server_conf['group_datei'], $new_group_file);
+ $app->file->remove_blank_lines($this->server_conf['group_datei']);
+ if($this->server_conf['shadow_datei'] != '/etc/shadow'){
+ $app->log->caselog('pwd_mkdb '.$this->server_conf['shadow_datei'].' &> /dev/null', $this->FILE, __LINE__);
}
return true;
} else {
@@ -699,46 +699,46 @@
function rc_edit($service, $rl, $action){
// $action = "on|off";
global $app;
- $dist_init_scripts = $app->system->server_conf["dist_init_scripts"];
- $dist_runlevel = $app->system->server_conf["dist_runlevel"];
- $dist = $app->system->server_conf["dist"];
- if(trim($dist_runlevel) == ""){ // falls es keine runlevel gibt (FreeBSD)
- if($action == "on"){
- @symlink($dist_init_scripts."/".$service, $dist_init_scripts."/".$service.".sh");
+ $dist_init_scripts = $app->system->server_conf['dist_init_scripts'];
+ $dist_runlevel = $app->system->server_conf['dist_runlevel'];
+ $dist = $app->system->server_conf['dist'];
+ if(trim($dist_runlevel) == ''){ // falls es keine runlevel gibt (FreeBSD)
+ if($action == 'on'){
+ @symlink($dist_init_scripts.'/'.$service, $dist_init_scripts.'/'.$service.'.sh');
}
- if($action == "off"){
- if(is_link($dist_init_scripts."/".$service.".sh")){
- unlink($dist_init_scripts."/".$service.".sh");
+ if($action == 'off'){
+ if(is_link($dist_init_scripts.'/'.$service.'.sh')){
+ unlink($dist_init_scripts.'/'.$service.'.sh');
} else {
- exec("mv -f ".$dist_init_scripts."/".$service.".sh ".$dist_init_scripts."/".$service." &> /dev/null");
+ rename($dist_init_scripts.'/'.$service.'.sh',$dist_init_scripts.'/'.$service);
}
}
} else { // Linux
if(substr($dist, 0,4) == 'suse'){
- if($action == "on"){
+ if($action == 'on'){
exec("chkconfig --add $service &> /dev/null");
}
- if($action == "off"){
+ if($action == 'off'){
exec("chkconfig --del $service &> /dev/null");
}
} else {
- $runlevels = explode(",", $rl);
+ $runlevels = explode(',', $rl);
foreach($runlevels as $runlevel){
$runlevel = trim($runlevel);
- if($runlevel != "" && is_dir($dist_runlevel."/rc".$runlevel.".d")){
- $handle=opendir($dist_runlevel."/rc".$runlevel.".d");
+ if($runlevel != '' && is_dir($dist_runlevel.'/rc'.$runlevel.'.d')){
+ $handle=opendir($dist_runlevel.'/rc'.$runlevel.'.d');
while($file = readdir($handle)){
- if($file != "." && $file != ".."){
- $target = @readlink($dist_runlevel."/rc".$runlevel.".d/".$file);
- if(strstr($file, $service) && strstr($target, $service) && substr($file,0,1) == "S") $ln_arr[$runlevel][] = $dist_runlevel."/rc".$runlevel.".d/".$file;
+ if($file != '.' && $file != '..'){
+ $target = @readlink($dist_runlevel.'/rc'.$runlevel.'.d/'.$file);
+ if(strstr($file, $service) && strstr($target, $service) && substr($file,0,1) == 'S') $ln_arr[$runlevel][] = $dist_runlevel.'/rc'.$runlevel.'.d/'.$file;
}
}
closedir($handle);
}
- if($action == "on"){
- if(!is_array($ln_arr[$runlevel])) @symlink($dist_init_scripts."/".$service, $dist_runlevel."/rc".$runlevel.".d/S99".$service);
+ if($action == 'on'){
+ if(!is_array($ln_arr[$runlevel])) @symlink($dist_init_scripts.'/'.$service, $dist_runlevel.'/rc'.$runlevel.'.d/S99'.$service);
}
- if($action == "off"){
+ if($action == 'off'){
if(is_array($ln_arr[$runlevel])){
foreach($ln_arr[$runlevel] as $link){
unlink($link);
@@ -838,36 +838,36 @@
function daemon_init($daemon, $action){
//* $action = start|stop|restart|reload
global $app;
- $dist = $this->server_conf["dist"];
- $dist_init_scripts = $this->server_conf["dist_init_scripts"];
- if(!strstr($dist, "freebsd")){
+ $dist = $this->server_conf['dist'];
+ $dist_init_scripts = $this->server_conf['dist_init_scripts'];
+ if(!strstr($dist, 'freebsd')){
$app->log->caselog("$dist_init_scripts/$daemon $action &> /dev/null", $this->FILE, __LINE__);
} else {
- if(is_file($dist_init_scripts."/".$daemon.".sh") || is_link($dist_init_scripts."/".$daemon.".sh")){
- if($action == "start" || $action == "stop"){
- $app->log->caselog($dist_init_scripts."/".$daemon.".sh ".$action." &> /dev/null", $this->FILE, __LINE__);
+ if(is_file($dist_init_scripts.'/'.$daemon.'.sh') || is_link($dist_init_scripts.'/'.$daemon.'.sh')){
+ if($action == 'start' || $action == 'stop'){
+ $app->log->caselog($dist_init_scripts.'/'.$daemon.'.sh '.$action.' &> /dev/null', $this->FILE, __LINE__);
} else {
- $app->log->caselog($dist_init_scripts."/".$daemon.".sh stop &> /dev/null", $this->FILE, __LINE__);
+ $app->log->caselog($dist_init_scripts.'/'.$daemon.'.sh stop &> /dev/null', $this->FILE, __LINE__);
sleep(3);
- $app->log->caselog($dist_init_scripts."/".$daemon.".sh start &> /dev/null", $this->FILE, __LINE__);
+ $app->log->caselog($dist_init_scripts.'/'.$daemon.'.sh start &> /dev/null', $this->FILE, __LINE__);
}
} else {
- if(is_file($dist_init_scripts."/".$daemon) || is_link($dist_init_scripts."/".$daemon)){
- if($action == "start" || $action == "stop"){
- $app->log->caselog($dist_init_scripts."/".$daemon." ".$action." &> /dev/null", $this->FILE, __LINE__);
+ if(is_file($dist_init_scripts.'/'.$daemon) || is_link($dist_init_scripts.'/'.$daemon)){
+ if($action == 'start' || $action == 'stop'){
+ $app->log->caselog($dist_init_scripts.'/'.$daemon.' '.$action.' &> /dev/null', $this->FILE, __LINE__);
} else {
- $app->log->caselog($dist_init_scripts."/".$daemon." stop &> /dev/null", $this->FILE, __LINE__);
+ $app->log->caselog($dist_init_scripts.'/'.$daemon.' stop &> /dev/null', $this->FILE, __LINE__);
sleep(3);
- $app->log->caselog($dist_init_scripts."/".$daemon." start &> /dev/null", $this->FILE, __LINE__);
+ $app->log->caselog($dist_init_scripts.'/'.$daemon.' start &> /dev/null', $this->FILE, __LINE__);
}
} else {
- if(is_file("/etc/rc.d/".$daemon) || is_link("/etc/rc.d/".$daemon)){
- if($action == "start" || $action == "stop"){
- $app->log->caselog("/etc/rc.d/".$daemon." ".$action." &> /dev/null", $this->FILE, __LINE__);
+ if(is_file('/etc/rc.d/'.$daemon) || is_link('/etc/rc.d/'.$daemon)){
+ if($action == 'start' || $action == 'stop'){
+ $app->log->caselog('/etc/rc.d/'.$daemon.' '.$action.' &> /dev/null', $this->FILE, __LINE__);
} else {
- $app->log->caselog("/etc/rc.d/".$daemon." stop &> /dev/null", $this->FILE, __LINE__);
+ $app->log->caselog('/etc/rc.d/'.$daemon.' stop &> /dev/null', $this->FILE, __LINE__);
sleep(3);
- $app->log->caselog("/etc/rc.d/".$daemon." start &> /dev/null", $this->FILE, __LINE__);
+ $app->log->caselog('/etc/rc.d/'.$daemon.' start &> /dev/null', $this->FILE, __LINE__);
}
}
}
@@ -876,34 +876,34 @@
}
function netmask($netmask){
- list($f1,$f2,$f3,$f4) = explode(".", trim($netmask));
- $bin = str_pad(decbin($f1),8,"0",STR_PAD_LEFT).str_pad(decbin($f2),8,"0",STR_PAD_LEFT).str_pad(decbin($f3),8,"0",STR_PAD_LEFT).str_pad(decbin($f4),8,"0",STR_PAD_LEFT);
- $parts = explode("0", $bin);
- $bin = str_pad($parts[0], 32, "0", STR_PAD_RIGHT);
- $bin = wordwrap($bin, 8, ".", 1);
- list($f1,$f2,$f3,$f4) = explode(".", trim($bin));
- return bindec($f1).".".bindec($f2).".".bindec($f3).".".bindec($f4);
+ list($f1,$f2,$f3,$f4) = explode('.', trim($netmask));
+ $bin = str_pad(decbin($f1),8,'0',STR_PAD_LEFT).str_pad(decbin($f2),8,'0',STR_PAD_LEFT).str_pad(decbin($f3),8,'0',STR_PAD_LEFT).str_pad(decbin($f4),8,'0',STR_PAD_LEFT);
+ $parts = explode('0', $bin);
+ $bin = str_pad($parts[0], 32, '0', STR_PAD_RIGHT);
+ $bin = wordwrap($bin, 8, '.', 1);
+ list($f1,$f2,$f3,$f4) = explode('.', trim($bin));
+ return bindec($f1).'.'.bindec($f2).'.'.bindec($f3).'.'.bindec($f4);
}
function binary_netmask($netmask){
- list($f1,$f2,$f3,$f4) = explode(".", trim($netmask));
- $bin = str_pad(decbin($f1),8,"0",STR_PAD_LEFT).str_pad(decbin($f2),8,"0",STR_PAD_LEFT).str_pad(decbin($f3),8,"0",STR_PAD_LEFT).str_pad(decbin($f4),8,"0",STR_PAD_LEFT);
- $parts = explode("0", $bin);
- return substr_count($parts[0], "1");
+ list($f1,$f2,$f3,$f4) = explode('.', trim($netmask));
+ $bin = str_pad(decbin($f1),8,'0',STR_PAD_LEFT).str_pad(decbin($f2),8,'0',STR_PAD_LEFT).str_pad(decbin($f3),8,'0',STR_PAD_LEFT).str_pad(decbin($f4),8,'0',STR_PAD_LEFT);
+ $parts = explode('0', $bin);
+ return substr_count($parts[0], '1');
}
function network($ip, $netmask){
$netmask = $this->netmask($netmask);
- list($f1,$f2,$f3,$f4) = explode(".", $netmask);
- $netmask_bin = str_pad(decbin($f1),8,"0",STR_PAD_LEFT).str_pad(decbin($f2),8,"0",STR_PAD_LEFT).str_pad(decbin($f3),8,"0",STR_PAD_LEFT).str_pad(decbin($f4),8,"0",STR_PAD_LEFT);
- list($f1,$f2,$f3,$f4) = explode(".", $ip);
- $ip_bin = str_pad(decbin($f1),8,"0",STR_PAD_LEFT).str_pad(decbin($f2),8,"0",STR_PAD_LEFT).str_pad(decbin($f3),8,"0",STR_PAD_LEFT).str_pad(decbin($f4),8,"0",STR_PAD_LEFT);
+ list($f1,$f2,$f3,$f4) = explode('.', $netmask);
+ $netmask_bin = str_pad(decbin($f1),8,'0',STR_PAD_LEFT).str_pad(decbin($f2),8,'0',STR_PAD_LEFT).str_pad(decbin($f3),8,'0',STR_PAD_LEFT).str_pad(decbin($f4),8,'0',STR_PAD_LEFT);
+ list($f1,$f2,$f3,$f4) = explode('.', $ip);
+ $ip_bin = str_pad(decbin($f1),8,'0',STR_PAD_LEFT).str_pad(decbin($f2),8,'0',STR_PAD_LEFT).str_pad(decbin($f3),8,'0',STR_PAD_LEFT).str_pad(decbin($f4),8,'0',STR_PAD_LEFT);
for($i=0;$i<32;$i++){
$network_bin .= substr($netmask_bin,$i,1) * substr($ip_bin,$i,1);
}
- $network_bin = wordwrap($network_bin, 8, ".", 1);
- list($f1,$f2,$f3,$f4) = explode(".", trim($network_bin));
- return bindec($f1).".".bindec($f2).".".bindec($f3).".".bindec($f4);
+ $network_bin = wordwrap($network_bin, 8, '.', 1);
+ list($f1,$f2,$f3,$f4) = explode('.', trim($network_bin));
+ return bindec($f1).'.'.bindec($f2).'.'.bindec($f3).'.'.bindec($f4);
}
/**
@@ -913,12 +913,12 @@
function broadcast($ip, $netmask){
$netmask = $this->netmask($netmask);
$binary_netmask = $this->binary_netmask($netmask);
- list($f1,$f2,$f3,$f4) = explode(".", $ip);
- $ip_bin = str_pad(decbin($f1),8,"0",STR_PAD_LEFT).str_pad(decbin($f2),8,"0",STR_PAD_LEFT).str_pad(decbin($f3),8,"0",STR_PAD_LEFT).str_pad(decbin($f4),8,"0",STR_PAD_LEFT);
- $broadcast_bin = str_pad(substr($ip_bin, 0, $binary_netmask),32,"1",STR_PAD_RIGHT);
- $broadcast_bin = wordwrap($broadcast_bin, 8, ".", 1);
- list($f1,$f2,$f3,$f4) = explode(".", trim($broadcast_bin));
- return bindec($f1).".".bindec($f2).".".bindec($f3).".".bindec($f4);
+ list($f1,$f2,$f3,$f4) = explode('.', $ip);
+ $ip_bin = str_pad(decbin($f1),8,'0',STR_PAD_LEFT).str_pad(decbin($f2),8,'0',STR_PAD_LEFT).str_pad(decbin($f3),8,'0',STR_PAD_LEFT).str_pad(decbin($f4),8,'0',STR_PAD_LEFT);
+ $broadcast_bin = str_pad(substr($ip_bin, 0, $binary_netmask),32,'1',STR_PAD_RIGHT);
+ $broadcast_bin = wordwrap($broadcast_bin, 8, '.', 1);
+ list($f1,$f2,$f3,$f4) = explode('.', trim($broadcast_bin));
+ return bindec($f1).'.'.bindec($f2).'.'.bindec($f3).'.'.bindec($f4);
}
/**
@@ -928,25 +928,25 @@
function network_info(){
$dist = $this->server_conf["dist"];
ob_start();
- passthru("ifconfig");
+ passthru('ifconfig');
$output = ob_get_contents();
ob_end_clean();
$lines = explode("\n", $output);
foreach($lines as $line){
- $elms = explode(" ", $line);
- if(trim($elms[0]) != "" && substr($elms[0],0,1) != "\t"){
+ $elms = explode(' ', $line);
+ if(trim($elms[0]) != '' && substr($elms[0],0,1) != "\t"){
$elms[0] = trim($elms[0]);
- if(strstr($dist, "freebsd")) $elms[0] = substr($elms[0],0,-1);
+ if(strstr($dist, 'freebsd')) $elms[0] = substr($elms[0],0,-1);
$interfaces[] = $elms[0];
}
}
if(!empty($interfaces)){
foreach($interfaces as $interface){
ob_start();
- if(!strstr($dist, "freebsd")){
- passthru("ifconfig ".$interface." | grep -iw 'inet' | cut -f2 -d: | cut -f1 -d' '");
+ if(!strstr($dist, 'freebsd')){
+ passthru('ifconfig '.$interface." | grep -iw 'inet' | cut -f2 -d: | cut -f1 -d' '");
} else {
- passthru("ifconfig ".$interface." | grep -iw 'inet' | grep -iv 'inet6' | cut -f2 -d' '");
+ passthru('ifconfig '.$interface." | grep -iw 'inet' | grep -iv 'inet6' | cut -f2 -d' '");
}
$output = trim(ob_get_contents());
ob_end_clean();
@@ -972,26 +972,26 @@
function network_config(){
$ifconfig = $this->network_info();
if($ifconfig){
- $main_interface = $ifconfig["IP"][$this->server_conf["server_ip"]];
- if(strstr($main_interface, ":")){
- $parts = explode(":", $main_interface);
+ $main_interface = $ifconfig['IP'][$this->server_conf['server_ip']];
+ if(strstr($main_interface, ':')){
+ $parts = explode(':', $main_interface);
$main_interface = trim($parts[0]);
}
- if($main_interface != ""){
- $ips = $this->data["isp_server_ip"];
+ if($main_interface != ''){
+ $ips = $this->data['isp_server_ip'];
if(!empty($ips)){
foreach($ips as $ip){
- if(!isset($ifconfig["IP"][$ip["server_ip"]])){
- $to_set[] = $ip["server_ip"];
+ if(!isset($ifconfig['IP'][$ip['server_ip']])){
+ $to_set[] = $ip['server_ip'];
} else {
- unset($ifconfig["IP"][$ip["server_ip"]]);
+ unset($ifconfig['IP'][$ip['server_ip']]);
}
}
- if(!empty($ifconfig["IP"])){
- foreach($ifconfig["IP"] as $key => $val){
- if(!strstr($val, "lo") && !strstr($val, "lp") && strstr($val, $main_interface)){
- exec("ifconfig ".$val." down &> /dev/null");
- unset($ifconfig["INTERFACE"][$val]);
+ if(!empty($ifconfig['IP'])){
+ foreach($ifconfig['IP'] as $key => $val){
+ if(!strstr($val, 'lo') && !strstr($val, 'lp') && strstr($val, $main_interface)){
+ exec('ifconfig '.$val.' down &> /dev/null');
+ unset($ifconfig['INTERFACE'][$val]);
}
}
}
@@ -999,15 +999,15 @@
foreach($to_set as $to){
$i = 0;
while($i >= 0){
- if(isset($ifconfig["INTERFACE"][$main_interface.":".$i])){
+ if(isset($ifconfig['INTERFACE'][$main_interface.':'.$i])){
$i++;
} else {
- $new_interface = $main_interface.":".$i;
+ $new_interface = $main_interface.':'.$i;
$i = -1;
}
}
- exec("ifconfig ".$new_interface." ".$to." netmask ".$this->server_conf["server_netzmaske"]." up &> /dev/null");
- $ifconfig["INTERFACE"][$new_interface] = $to;
+ exec('ifconfig '.$new_interface.' '.$to.' netmask '.$this->server_conf['server_netzmaske'].' up &> /dev/null');
+ $ifconfig['INTERFACE'][$new_interface] = $to;
}
}
}
@@ -1017,16 +1017,16 @@
function quota_dirs(){
global $app;
- $content = $app->file->unix_nl($app->file->no_comments("/etc/fstab"));
+ $content = $app->file->unix_nl($app->file->no_comments('/etc/fstab'));
$lines = explode("\n", $content);
foreach($lines as $line){
$line = trim($line);
- if($line != ""){
+ if($line != ''){
$elms = explode("\t", $line);
foreach($elms as $elm){
- if(trim($elm) != "") $f[] = $elm;
+ if(trim($elm) != '') $f[] = $elm;
}
- if(!empty($f) && stristr($f[3], "userquota") && stristr($f[3], "groupquota")){
+ if(!empty($f) && stristr($f[3], 'userquota') && stristr($f[3], 'groupquota')){
$q_dirs[] = trim($f[1]);
}
unset($f);
@@ -1048,28 +1048,29 @@
//trashscan erstellen
// Template �ffnen
$app->tpl->clear_all();
- $app->tpl->define( array(table => "trashscan.master"));
+ $app->tpl->define( array(table => 'trashscan.master'));
- if(!isset($this->server_conf["virusadmin"]) || trim($this->server_conf["virusadmin"]) == "") $this->server_conf["virusadmin"] = "admispconfig@localhost";
- if(substr($this->server_conf["virusadmin"],0,1) == "#"){
- $notify = "no";
+ if(!isset($this->server_conf['virusadmin']) || trim($this->server_conf['virusadmin']) == '') $this->server_conf['virusadmin'] = 'admispconfig@localhost';
+ if(substr($this->server_conf['virusadmin'],0,1) == '#'){
+ $notify = 'no';
} else {
- $notify = "yes";
+ $notify = 'yes';
}
// Variablen zuweisen
- $app->tpl->assign( array(VIRUSADMIN => $this->server_conf["virusadmin"],
+ $app->tpl->assign( array(VIRUSADMIN => $this->server_conf['virusadmin'],
NOTIFICATION => $notify));
$app->tpl->parse(TABLE, table);
$trashscan_text = $app->tpl->fetch();
- $datei = "/home/admispconfig/ispconfig/tools/clamav/bin/trashscan";
+ $datei = '/home/admispconfig/ispconfig/tools/clamav/bin/trashscan';
$app->file->wf($datei, $trashscan_text);
- exec("chown admispconfig:admispconfig $datei &> /dev/null");
- exec("chmod 755 $datei");
+ chmod($datei, 0755);
+ chown($datei,'admispconfig');
+ chgrp($datei,'admispconfig');
}
/**
@@ -1077,32 +1078,32 @@
*
*/
function get_time(){
- $addr = "http://www.ispconfig.org/";
+ $addr = 'http://www.ispconfig.org/';
$timeout = 1;
$url_parts = parse_url($addr);
- $path = $url_parts["path"];
+ $path = $url_parts['path'];
$port = 80;
- $urlHandle = @fsockopen($url_parts["host"], $port, $errno, $errstr, $timeout);
+ $urlHandle = @fsockopen($url_parts['host'], $port, $errno, $errstr, $timeout);
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";
- if ($user) $urlString .= "Authorization: Basic ".base64_encode("$user:$pass")."\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();
@@ -1110,13 +1111,13 @@
$line = trim(fgets($urlHandle,128));
$response .= $line;
$c = time() - $startzeit;
- if($line == "" || substr($line, 0, 5) == "Date:") $l += 1; // nur den Header auslesen
- if(substr($line, 0, 5) == "Date:"){
- $parts = explode(" ", $line);
+ if($line == '' || substr($line, 0, 5) == 'Date:') $l += 1; // nur den Header auslesen
+ if(substr($line, 0, 5) == 'Date:'){
+ $parts = explode(' ', $line);
$tag = $parts[2];
$monat = $month[$parts[3]];
$jahr = $parts[4];
- list($stunde, $minute, $sekunde) = explode(":", $parts[5]);
+ list($stunde, $minute, $sekunde) = explode(':', $parts[5]);
$timestamp = mktime($stunde,$minute,$sekunde,$monat,$tag,$jahr);
}
}
@@ -1202,7 +1203,7 @@
if($user != '' && $this->is_user($user) && $user != 'root') {
$user = escapeshellarg($user);
- // I assume that the name of the (vmail group) is the same as the name of the mail user in ispconfig 3
+ // 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");
}
@@ -1212,14 +1213,20 @@
// Courier
if(!is_file($maildir_path.'/courierimapsubscribed')) {
$tmp_file = escapeshellarg($maildir_path.'/courierimapsubscribed');
- exec("touch $tmp_file && chown vmail:vmail $tmp_file");
+ touch($tmp_file);
+ chmod($tmp_file, 0744);
+ chown($tmp_file,'vmail');
+ chgrp($tmp_file,'vmail');
}
$this->replaceLine($maildir_path.'/courierimapsubscribed','INBOX.'.$subfolder,'INBOX.'.$subfolder,1,1);
// Dovecot
if(!is_file($maildir_path.'/subscriptions')) {
$tmp_file = escapeshellarg($maildir_path.'/subscriptions');
- exec("touch $tmp_file && chown vmail:vmail $tmp_file");
+ touch($tmp_file);
+ chmod($tmp_file, 0744);
+ chown($tmp_file,'vmail');
+ chgrp($tmp_file,'vmail');
}
$this->replaceLine($maildir_path.'/subscriptions',$subfolder,$subfolder,1,1);
}
@@ -1229,4 +1236,4 @@
}
}
-?>
\ No newline at end of file
+?>
--
Gitblit v1.9.1