summaryrefslogtreecommitdiffstats
path: root/pbs-randomInsert.php
diff options
context:
space:
mode:
Diffstat (limited to 'pbs-randomInsert.php')
-rw-r--r--pbs-randomInsert.php178
1 files changed, 178 insertions, 0 deletions
diff --git a/pbs-randomInsert.php b/pbs-randomInsert.php
new file mode 100644
index 0000000..f74b11e
--- /dev/null
+++ b/pbs-randomInsert.php
@@ -0,0 +1,178 @@
+<?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"));
+
+ $requester = floor($anzPersonen*0.4);
+ $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_rightroles` (`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(){
+ $anzPersonen = mysql_num_rows(mysql_query("SELECT * FROM pbs_person"));
+ $anzGruppen = mysql_num_rows(mysql_query("SELECT * FROM pbs_group"));
+
+ $anz = floor($anzPersonen*0.3);
+ $anz2=$anz;
+ while($anz>0){
+ $randomPerson = rand(1,$anzPersonen);
+ $randomGruppe = rand(1,$anzGruppen);
+ if(mysql_num_rows(mysql_query("SELECT pbs_membership WHERE groupID = '$randomGruppe' AND personID = '$randomPerson'")) == 0){
+ mysql_query("INSERT INTO pbs_grouprequest (`groupID`,`personID`,`time`) VALUES ('$randomGruppe','$randomPerson',".time().")");
+ $anz--;
+ }
+ }
+ echo "$anz2 Gruppenanfragen wurden von Personen zu gruppen erstellt\n";
+ }
+
+
+
+
+ function insertAll(){
+ $this->clearAll();
+ $this->insertGroup(10);
+ $this->linkGroups();
+ $this->insertPerson(20);
+ $this->insertRight(20);
+ $this->insertRole(20);
+ $this->linkRightRole();
+ $this->createMemberships();
+
+ }
+
+ function clearAll()
+ {
+ mysql_query("TRUNCATE `pbs_bootiso`;
+ TRUNCATE `pbs_bootmenu`;
+ TRUNCATE `pbs_bootmenuentries`;
+ TRUNCATE `pbs_bootos`;
+ TRUNCATE `pbs_client`;
+ TRUNCATE `pbs_config`;
+ TRUNCATE `pbs_filter`;
+ TRUNCATE `pbs_filterentries`;
+ TRUNCATE `pbs_filtertype`;
+ TRUNCATE `pbs_group`;
+ TRUNCATE `pbs_groupgroups`;
+ TRUNCATE `pbs_grouprequest`;
+ TRUNCATE `pbs_membership`;
+ TRUNCATE `pbs_membershipfilters`;
+ TRUNCATE `pbs_person`;
+ TRUNCATE `pbs_pool`;
+ TRUNCATE `pbs_poolentries`;
+ TRUNCATE `pbs_poolfilters`;
+ TRUNCATE `pbs_right`;
+ TRUNCATE `pbs_rightroles`;
+ TRUNCATE `pbs_role`;
+ TRUNCATE `pbs_session`");
+
+ }
+}
+
+$u = new insertClass();
+$u->insertAll();
+
+
+
+
+
+
+
+
+
+
+mysql_close($link);
+
+