summaryrefslogblamecommitdiffstats
path: root/pbs-randomInsert.php
blob: af3b141f71676c20ce57188b29dbb0d8df2b178a (plain) (tree)
1
2
3
4
5
6
7
8
9








                                                            
                  

                                                                                 
                                             

                                                                                                                                                                                  
                                                


                                                                                
                                             

                                                                                              
                                               



                                                            
                                                              

                                     













                                                                                                                                
                                             
                                                                                                                                  
                 





































                                                                                                                             
                                                                                                
                









                                                                  
                                                                                                                                                                            



                                                                                                                        
                                        


                                                                                       
                                              



                                                             


                                                                                                                                                                                      




                                                                                                














                                                                                                                                                                                                                                                                                               
 
                             











                                                                                                            



                           





















                                                                


         

                       












                   
<?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);