openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

GroupMembershipsAction.class.php (1303B)


      1 <?php
      2 namespace cms\action\group;
      3 use cms\action\GroupAction;
      4 use cms\action\Method;
      5 use cms\model\User;
      6 use language\Messages;
      7 
      8 class GroupMembershipsAction extends GroupAction implements Method {
      9 
     10     public function view() {
     11 		// Mitgliedschaften ermitteln
     12 		//
     13 		$userliste = array();
     14 		
     15 		$allUsers = User::listAll();
     16 		
     17 		$actualGroupUsers = $this->group->getUsers();
     18 		
     19 		foreach( $allUsers as $id=>$name )
     20 		{
     21 			$hasUser = array_key_exists($id,$actualGroupUsers);
     22 			$varName  = 'user'.$id;
     23 			$userliste[$id] = array('name'       => $name,
     24 			                        'id'         => $id,
     25 			                        'var'        => $varName,
     26 			                        'member'     => $hasUser
     27 			                        );
     28 			$this->setTemplateVar($varName,$hasUser);
     29 		}
     30 		$this->setTemplateVar('memberships',$userliste);
     31     }
     32 
     33     public function post() {
     34 
     35 		$allUsers  = User::listAll();
     36 		$groupUsers = $this->group->getUsers();
     37 		
     38 		foreach( $allUsers as $id=>$name )
     39 		{
     40 			$hasUser = array_key_exists($id,$groupUsers);
     41 			
     42 			if	( !$hasUser && $this->request->isTrue('user'.$id) )
     43 				$this->group->addUser($id);
     44 
     45 			if	( $hasUser && !$this->request->isTrue('user'.$id) )
     46 				$this->group->delUser($id);
     47 		}
     48 
     49 		$this->addNoticeFor($this->group, Messages::USER_ADDED_TO_GROUP);
     50     }
     51 }