<?php
$link = mysql_connect('localhost', 'root', 'lsfks-openslx');
if (!$link) {
die('keine Verbindung möglich: ' . mysql_error());
}
echo 'Verbindung erfolgreich'."\n";
mysql_select_db('pbs');
class insertClass{
function insertPerson($i){
$anz = mysql_num_rows(mysql_query("SELECT * FROM pbs_person"))+1;
for($n=$anz;$n<$anz+$i;$n++){
mysql_query("INSERT INTO pbs_person (name,firstname,registerdate,email,login,password) VALUES ('test$n','test$n',$n,'mail@mail.com','test$n','test$n');");
}
echo "$i Personen eingefügt\n";
}
function insertGroup($i){
$anz = mysql_num_rows(mysql_query("SELECT * FROM pbs_group"))+1;
for($n=$anz;$n<$anz+$i;$n++){
mysql_query("INSERT INTO pbs_group (title) VALUES ('testgruppe$n');");
}
echo "$i Gruppen eingefügt\n";
}
function linkGroups(){
$r = mysql_query("SELECT * FROM pbs_group");
$anz = mysql_num_rows($r);
while ($d = mysql_fetch_array($r,MYSQL_BOTH)){
$data[] = $d;
}
$firstElement = array_shift($data);
$startParent = $firstElement['groupID'];
while(count($data)>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);