0){ $now = array_shift($data); mysql_query("INSERT INTO pbs_groupgroups (parentID,groupID) VALUES ($startParent,".$now['groupID'].")"); if(count($data)%4 == 1){ $startParent = $now['groupID']; } } echo "Gruppen untereinander verbunden\n"; } function insertRight($i){ $anz = mysql_num_rows(mysql_query("SELECT * FROM pbs_right"))+1; for($n=$anz;$n<$anz+$i;$n++){ mysql_query("INSERT INTO `pbs_right` (`rightID`, `title`, `description`) VALUES (NULL, 'recht$n', NULL)"); } echo "$i Rechte eingefügt\n"; } function insertRole($i){ $anzRight = mysql_num_rows(mysql_query("SELECT * FROM pbs_right"))+1; $r = mysql_query("SELECT * FROM pbs_group"); $anzGroup = mysql_num_rows($r); $linkGroup = 1; $anz = mysql_num_rows(mysql_query("SELECT * FROM pbs_role")); for($n=$anz;$n<=$anz+$i;$n++){ if($n>4){ $linkGroup = rand(0,$anzGroup); } mysql_query("INSERT INTO `pbs_role` ( `roleID` ,`groupID` ,`title` ,`description` ) VALUES ( NULL , '$linkGroup', 'testgruppe$n', NULL)"); } echo "$i Rollen eingefügt\n"; } function linkRightRole(){ $anzRight = mysql_num_rows(mysql_query("SELECT * FROM pbs_right")); $anzRole = mysql_num_rows(mysql_query("SELECT * FROM pbs_role")); $anz = rand(max($anzRight,$anzRole),floor($anzRight+$anzRole)); $anz2 = $anz; while($anz >0){ $rightID = rand(1,$anzRight); $roleID = rand(1,$anzRole); $r = mysql_query("INSERT INTO `pbs_rightroles` (`roleID`, `rightID`) VALUES ('$roleID','$rightID')"); $anz--; } echo "Rechte mit Rollen verbunden ($anz2 Verbindungen)\n"; } function createMemberships(){ $anzPersonen = mysql_num_rows(mysql_query("SELECT * FROM pbs_person")); $anzRole = mysql_num_rows(mysql_query("SELECT * FROM pbs_role")); $r = mysql_query("SELECT * FROM pbs_role"); while ($d = mysql_fetch_array($r,MYSQL_BOTH)){ $roles[] = $d; } $verbindungen = rand($anzPersonen,$anzPersonen*2); $verbindungen2 = $verbindungen; while ($verbindungen>0){ $personID = rand(1,$anzPersonen); $roleID = rand(1,$anzRole); $r = mysql_query("INSERT INTO `pbs_membership` (`roleID`, `groupID`,`personID`) VALUES ('$roleID','".$roles[$roleID-1]['groupID']."','$personID')"); $verbindungen--; } echo "Personen in Gruppen in bestimmten Rollen hinzugefügt ($verbindungen2 Verbindungen)\n"; } function createGroupRequest($i){ $anzPersonen = mysql_num_rows(mysql_query("SELECT * FROM pbs_person")); $anzGruppen = mysql_num_rows(mysql_query("SELECT * FROM pbs_group")); $anz = floor($anzPersonen*$i); $anz2=$anz; while($anz>0){ $randomPerson = rand(1,$anzPersonen); $randomGruppe = rand(1,$anzGruppen); $q = "SELECT * FROM `pbs_membership` WHERE `groupID` = '$randomGruppe' AND `personID` = '$randomPerson'"; if(mysql_num_rows(mysql_query($q)) == 0){ mysql_query("INSERT INTO pbs_grouprequest (`groupID`,`personID`,`time`) VALUES ('$randomGruppe','$randomPerson',".rand(time()-7*24*60*60,time()).")"); $anz--; } } echo "$anz2 Gruppenanfragen wurden von Personen zu gruppen erstellt\n"; } function insertBootOS($i){ $anz = mysql_num_rows(mysql_query("SELECT * FROM pbs_bootos"))+1; $anzGruppen = mysql_num_rows(mysql_query("SELECT * FROM pbs_group")); for($n=$anz;$n<$anz+$i;$n++){ $randomGruppe = rand(1,$anzGruppen); mysql_query("INSERT INTO `pbs`.`pbs_bootos` (`bootosID`, `configID`, `groupID`, `title`, `description`, `path_init`, `path_kernel`, `defaultkcl`, `created`, `expires`, `public`) VALUES (NULL, NULL, '$randomGruppe', 'BootOS $n', NULL, '', '', '', '', NULL, '1')"); } echo "$i BootOS eingefügt\n"; } function getBootOS($membershipID){ $q = "SELECT * FROM pbs_membership WHERE membershipID = $membershipID"; echo "42"; // TODO rekursive auflistung aller zur verfügung stehenden BootOS eines Mitglieds } function insertAll(){ /*$this->clearAll(); $this->insertGroup(10); # Gruppen hinzufügen $this->linkGroups(); # Gruppen untereinander verbinden $this->insertPerson(20); # Personen hinzufügen $this->insertRight(20); # Rechte hinzufügen $this->insertRole(20); # Rollen hinzufügen $this->linkRightRole(); # Recht den Rollen zuweisen $this->createMemberships(); # Personen mit Rollen den Gruppen zuweisen $this->createGroupRequest(0.3); # Prozent der Personen die Requesten $this->insertBootOS(15); # BootOS zu den Gruppen hinzugefügt */ $this->getBootOS(16); } function clearAll() { mysql_query("TRUNCATE `pbs_bootiso`"); mysql_query("TRUNCATE `pbs_bootmenu`"); mysql_query("TRUNCATE `pbs_bootmenuentries`"); mysql_query("TRUNCATE `pbs_bootos`"); mysql_query("TRUNCATE `pbs_client`"); mysql_query("TRUNCATE `pbs_config`"); mysql_query("TRUNCATE `pbs_filter`"); mysql_query("TRUNCATE `pbs_filterentries`"); mysql_query("TRUNCATE `pbs_filtertype`"); mysql_query("TRUNCATE `pbs_group`"); mysql_query("TRUNCATE `pbs_groupgroups`"); mysql_query("TRUNCATE `pbs_grouprequest`"); mysql_query("TRUNCATE `pbs_membership`"); mysql_query("TRUNCATE `pbs_membershipfilters`"); mysql_query("TRUNCATE `pbs_person`"); mysql_query("TRUNCATE `pbs_pool`"); mysql_query("TRUNCATE `pbs_poolentries`"); mysql_query("TRUNCATE `pbs_poolfilters`"); mysql_query("TRUNCATE `pbs_right`"); mysql_query("TRUNCATE `pbs_rightroles`"); mysql_query("TRUNCATE `pbs_role`"); mysql_query("TRUNCATE `pbs_session`"); } } $u = new insertClass(); $u->insertAll(); mysql_close($link);