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 }