summaryrefslogtreecommitdiffstats
path: root/pbs-randomInsert.php
blob: af3b141f71676c20ce57188b29dbb0d8df2b178a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
<?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);