summaryrefslogtreecommitdiffstats
path: root/library/Pbs/NewMember.php
blob: 9800d04ef62fd6747ef89e71a4d5d7a5cb2dd6df (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
<?php

class Pbs_NewMember{

	public function createDefaults(Application_Model_Membership $membership){
		$personMapper 		= new Application_Model_PersonMapper();
		$bootmenuMapper 		= new Application_Model_BootMenuMapper();
		$bootmenuentriesMapper 	= new Application_Model_BootMenuEntriesMapper();
		$filterMapper 			= new Application_Model_FilterMapper();
		$filterentriesMapper 	= new Application_Model_FilterEntriesMapper();
		
		// First we copy the default bootmenu with all the entries
		$groupID = $membership->getGroupID();		
		$person = $personMapper->find($membership->getPersonID());
		$personname = $person->getFirstName(). " " . $person->getName();
		
		$defaultBootmenu = $bootmenuMapper->findBy(array('groupID'=>$groupID, 'defaultbootmenu'=>'1'));
		$defaultBootmenu = $defaultBootmenu[0];
		
		$userBootmenu = new Application_Model_BootMenu();
			$userBootmenu->setID(null);
			$userBootmenu->setGroupID(null);
			$userBootmenu->setMembershipID($membership->getID());
			$userBootmenu->setTitle("BootMenu of ".$personname);
			$userBootmenu->setCreated(time());
			$userBootmenu->setDefaultbootmenu(0);		
		$userBootmenuID = $bootmenuMapper->save($userBootmenu);
		$userBootmenu->setID($userBootmenuID);
		
		# print_a('userbootmenu',$userBootmenu);
		if($defaultBootmenu != ''){
			$bootmenuentries = $bootmenuentriesMapper->findBy(array('bootmenuID'=>$defaultBootmenu->getID()));
			foreach($bootmenuentries as $bme){
				$bme->setID(null);
				$bme->setBootmenuID($userBootmenuID);
				$bootmenuentriesMapper->save($bme);
				#print_a('bootmenuentry',$bme);
			}
		}
		
		// Second we create a filter
		$filter = new Application_Model_Filter();
			$filter->setTitle("Filter of ".$personname);
			$filter->setDescription("This filter was automatically created to forward the user to his own bootmenu");
			$filter->setMembershipID($membership->getID());
			$filter->setGroupID($membership->getGroupID());
			$filter->setBootmenuID($userBootmenuID);
			$filter->setCreated(time());
			$filter->setPriority(25);
		$filterID = $filterMapper->save($filter);
		# print_a('filter',$filter);
		
		$filterentry = new Application_Model_FilterEntries();
		$filterentry->setFilterID($filterID);
		$filterentry->setFiltertypeID(5);
		$filterentry->setFiltervalue($membership->getID());
		$filterentriesMapper->save($filterentry);
		# print_a('filterentry',$filterentry);	
		
				
	}
}

?>