Example #1
0
function CheckHomeFor($uid,$homeDirectory=null){
	$ct=new user($uid);
	if($homeDirectory==null){$homeDirectory=$ct->homeDirectory;}
	
	echo "Starting......: Home $uid checking home: $homeDirectory\n";
	
	if($GLOBALS["profile_path"]==null){
		$sock=new sockets();
		$profile_path=$sock->GET_INFO('SambaProfilePath');
		$GLOBALS["profile_path"]=$profile_path;
	}
	if($ct->ou==null){writelogs("$uid: OU=NULL, No a standard user...SKIP",__FUNCTION__,__FILE__,__LINE__);return;}
	$ou=$ct->ou;
	$uid=strtolower($uid);
	$newdir=trim(getStorageEnabled($ou,$uid));
	if($newdir<>null){
		$newdir="$newdir/$uid";
		writelogs("LVM: [$ou]:: storage=$newdir;homeDirectory=$homeDirectory",__FUNCTION__,__FILE__,__LINE__);
		if($newdir<>$homeDirectory){
			writelogs("$uid:: change $homeDirectory to $newdir",__FUNCTION__,__FILE__,__LINE__);
			$ct->homeDirectory=$newdir;
			$ct->edit_system();
			$homeDirectory=$newdir;
		}
	}
	
if($homeDirectory==null){
	$homeDirectory="/home/$uid";
	writelogs("$uid:: change $homeDirectory",__FUNCTION__,__FILE__,__LINE__);
	$ct->homeDirectory=$homeDirectory;
	$ct->edit_system();
	}
	
	if($GLOBALS["profile_path"]<>null){
		$export="$profile_path/$uid";
		writelogs("Checking export:$export",__FUNCTION__,__FILE__,__LINE__);
		@mkdir($export);
		@chmod($export,0775);
		@chown($export,$uid);
	}
	
	
	writelogs("Checking home:$homeDirectory",__FUNCTION__,__FILE__,__LINE__);
	@mkdir($homeDirectory);
	@chmod($homeDirectory,0775);
	@chown($homeDirectory,$uid);
	
	if($ct->WebDavUser==1){
		$unix=new unix();
		$find=$unix->find_program("find");
		$apacheuser=$unix->APACHE_GROUPWARE_ACCOUNT();
		if(preg_match("#(.+?):#",$apacheuser,$re)){$apacheuser=$re[1];}
		$internet_folder="$homeDirectory/Internet Folder";
		@mkdir($internet_folder);
		@chmod($internet_folder,0775);
		$internet_folder=$unix->shellEscapeChars($internet_folder);
		echo "Starting......: Home $uid checking home: $internet_folder\n";
		writelogs("Checking $ct->uid:$apacheuser :$internet_folder",__FUNCTION__,__FILE__,__LINE__);
		shell_exec("/bin/chown -R $ct->uid:$apacheuser $internet_folder >/dev/null 2>&1 &");
		shell_exec("$find $internet_folder -type d -exec chmod 755 {} \; >/dev/null 2>&1 &");
	}
	
	
	
}
Example #2
0
function CheckHomeFor($uid, $homeDirectory = null)
{
    if (!isset($GLOBALS["HomeDirectoriesMask"])) {
        LoadConfs();
    }
    $ct = new user($uid);
    if ($homeDirectory == null) {
        $homeDirectory = $ct->homeDirectory;
    }
    echo "Starting......: Home {$uid} checking home: {$homeDirectory}\n";
    if ($GLOBALS["profile_path"] == null) {
        $sock = new sockets();
        $profile_path = $sock->GET_INFO('SambaProfilePath');
        $GLOBALS["profile_path"] = $profile_path;
    }
    if ($ct->ou == null) {
        writelogs("{$uid}: OU=NULL, No a standard user...SKIP", __FUNCTION__, __FILE__, __LINE__);
        return;
    }
    $ou = $ct->ou;
    $uid = strtolower($uid);
    $newdir = trim(getStorageEnabled($ou, $uid));
    if ($newdir != null) {
        $newdir = "{$newdir}/{$uid}";
        writelogs("LVM: [{$ou}]:: storage={$newdir};homeDirectory={$homeDirectory}", __FUNCTION__, __FILE__, __LINE__);
        if ($newdir != $homeDirectory) {
            writelogs("{$uid}:: change {$homeDirectory} to {$newdir}", __FUNCTION__, __FILE__, __LINE__);
            $ct->homeDirectory = $newdir;
            $ct->edit_system();
            $homeDirectory = $newdir;
        }
    }
    if ($homeDirectory == null) {
        $homeDirectory = "/home/{$uid}";
        writelogs("{$uid}:: change {$homeDirectory}", __FUNCTION__, __FILE__, __LINE__);
        $ct->homeDirectory = $homeDirectory;
        $ct->edit_system();
    }
    if ($GLOBALS["profile_path"] != null) {
        $export = "{$profile_path}/{$uid}";
        writelogs("Checking export:{$export}", __FUNCTION__, __FILE__, __LINE__);
        @mkdir($export);
        @chmod($export, 0775);
        @chown($export, $uid);
    }
    writelogs("Checking home:{$homeDirectory}", __FUNCTION__, __FILE__, __LINE__);
    @mkdir($homeDirectory);
    if ($GLOBALS["ArticaSambaAutomAskCreation"] == 1) {
        shell_exec("/bin/chmod {$GLOBALS["HomeDirectoriesMask"]} {$homeDirectory}");
    }
    @chown($homeDirectory, $uid);
    if ($ct->WebDavUser == 1) {
        $unix = new unix();
        $find = $unix->find_program("find");
        $apacheuser = $unix->APACHE_GROUPWARE_ACCOUNT();
        if (preg_match("#(.+?):#", $apacheuser, $re)) {
            $apacheuser = $re[1];
        }
        $internet_folder = "{$homeDirectory}/Internet Folder";
        if (!is_dir($internet_folder)) {
            @mkdir($internet_folder, $GLOBALS["SharedFoldersDefaultMask"], true);
        } else {
            @chmod($internet_folder, $GLOBALS["SharedFoldersDefaultMask"]);
        }
        $internet_folder = $unix->shellEscapeChars($internet_folder);
        echo "Starting......: Home {$uid} checking home: {$internet_folder}\n";
        writelogs("Checking {$ct->uid}:{$apacheuser} :{$internet_folder}", __FUNCTION__, __FILE__, __LINE__);
        shell_exec("/bin/chown -R {$ct->uid}:{$apacheuser} {$internet_folder} >/dev/null 2>&1 &");
        shell_exec("{$find} {$internet_folder} -type d -exec chmod {$GLOBALS["SharedFoldersDefaultMask"]} {} \\; >/dev/null 2>&1 &");
    }
}