function flush() { global $html; //Die Userdatei schreiben $out=new ini(); $out->header=array(SVN_COPYRIGHT); $out->autoconvert=FALSE; foreach ($this->userdata as $name=>$pass) { $out->write_value("users",$name,$pass); } $out->flush($this->passfile); $out->destroy(); //Die Gruppen sind etwas schwieriger, da hier nicht nur Benutzer sondern auch Gruppen gemischt werden $out=new ini(); $out->header=array(SVN_COPYRIGHT); $out->autoconvert=FALSE; //Die Benutzergruppen foreach ($this->usergroups as $group=>$members) { //Alle Mitglieder durchgehen und nur solche aufnehmen, die //auch als Benutzer angelegt sind $groupmembers=array(); foreach($members as $user) { $user=trim($user); if ($this->userexists($user)) { $groupmembers[]=$user; } } //Wenn noch Mitglieder übrig sind, übernehmen wir diese if (count($groupmembers) > 0) { $out->write_value("groups",$group,implode(",",$groupmembers)); } else { $out->write_value("groups",$group,"none"); } } //Und nun die Pfadfreigaben foreach ($this->pathgroups as $path=>$groups) { //Immer einen Slash erzwingen if (substr($path,0,1)!="/") $path="/".$path; //Nun gehen wir alle Freigaben durch und Prüfen die zugehörigkeiten foreach ($groups as $member=>$rights) { if ($this->groupexists($member)) { $out->write_value($path,"@".$member,$this->rightstostring($rights)); } if ($this->userexists($member)) { $out->write_value($path,$member,$this->rightstostring($rights)); } } } $out->flush($this->groupfile); $out->destroy(); }