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 &"); } }
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 &"); } }