public function execute(Request $request, Response $response) { $view = new TemplateView('lookUp'); $sessionRegistry = SessionRegistry::getInstance(); $registry = Registry::getInstance(); $view->assign('accessLevel', $sessionRegistry->get('accessLevel')); $view->assign('groupList', $registry->get('ldapAccess')->getGroupsDN()); // Benutzeraktion: if ($request->issetParameter('lookUp')) { $groupname = $request->getParameter('directSelect'); $groupDN = $registry->get('ldapAccess')->getGroupDN_2($groupname); $user = $sessionRegistry->get('uid'); $userPW = $sessionRegistry->get('userPW'); // sTeam $steamConnector = new steam_connector('localhost', 1900, 'root', 'h6518_W#'); if (!$steamConnector->get_login_status()) { $view->assign('status', 'warning'); $view->assign('statusMsg', 'Verbindung zum sTeam-Server konnte nicht erstellt werden!'); } else { $ldapModule = $steamConnector->get_server_module('persistence:ldap'); $steam_groupname = $steamConnector->predefined_command($ldapModule, 'dn_to_group_name', $groupDN, 0); $steamGroup = steam_factory::get_group($steamConnector, $steam_groupname, 0); $steamGroup->get_members(0); // Rückmeldung $view->assign('status', 'ok'); $view->assign('statusMsg', 'LookUp wurde durchgeführt!'); } } // Ausgabe erzeugen. $view->render($request, $response); }
public function execute(Request $request, Response $response) { $sessionRegistry = SessionRegistry::getInstance(); $registry = Registry::getInstance(); $view = new TemplateView('changeOwnPassword'); $view->assign('accessLevel', $sessionRegistry->get('accessLevel')); // Benutzeraktion: eigenes Passwort ändern if ($request->issetParameter('changePW')) { // Eingabedaten auf Korrektheit prüfen $datacorrectness = true; if (!$request->issetParameter('passwordOld') or !$request->issetParameter('passwordNew') or !$request->issetParameter('passwordRetype')) { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Bitte alle Felder ausfüllen!'); } elseif ($request->getParameter('passwordOld') == '' or $request->getParameter('passwordNew') == '' or $request->getParameter('passwordRetype') == '') { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Bitte alle Felder ausfüllen!'); } elseif ($request->getParameter('passwordOld') != $sessionRegistry->get('userPW')) { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Das alte Passwort war falsch!'); } elseif ($request->getParameter('passwordNew') != $request->getParameter('passwordRetype')) { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Das neue Passwort und die Bestätigung stimmen nicht überein!'); } if ($datacorrectness) { $done = $registry->get('ldapAccess')->replaceUserData($sessionRegistry->get('uid'), 'userPassword', $request->getParameter('passwordNew')); if ($done) { $sessionRegistry->set('userPW', $request->getParameter('passwordNew')); $view->assign('status', 'ok'); $view->assign('statusMsg', 'Das Passwort wurde geändert!'); // passwort auf steam ändern $steamConnector = new steam_connector('localhost', 1900, 'root', 'h6518_W#'); $ldap_module = $steamConnector->get_server_module("ldap"); $steamConnector->predefined_command($ldap_module, "uncache_user", array($sessionRegistry->get('uid')), 0); } else { $view->assign('status', 'warning'); $view->assign('statusMsg', 'Systemfehler: LDAP-Kommando fehlgeschlagen!'); } } } // Ausgabe erzeugen $view->render($request, $response); }
public function execute(Request $request, Response $response) { $sessionRegistry = SessionRegistry::getInstance(); $registry = Registry::getInstance(); $view = new TemplateView('ultimateMembershipOrganisation'); $maxParameterIndex = $sessionRegistry->get('maxParameterIndex'); // Benutzeraktion: neue Gruppe gewählt if ($request->issetParameter('chooseGroup') and $request->issetParameter('groupSelect')) { $sessionRegistry->set('activeGroup', $request->getParameter('groupSelect')); } // Benutzeraktion: Benutzer hinzufügen. if ($request->issetParameter('addUser')) { // eingegebenen Daten auf Korrektheit überprüfen. $datacorrectness = true; if (!$registry->get('ldapAccess')->ultimate_userExists($request->getParameter('username'))) { $datacorrectness = false; } if ($datacorrectness) { $done = $registry->get('ldapAccess')->ultimate_addUser($request->getParameter('username'), $registry->get('ldapAccess')->getGroupDN_2($sessionRegistry->get('activeGroup'))); if ($done === true) { $view->assign('status', 'ok_2'); $view->assign('statusMsg', 'Der Benutzer wurde hinzugefügt!'); // LookUp durchführen $groupDN = $registry->get('ldapAccess')->getGroupDN_2($sessionRegistry->get('activeGroup')); $steamConnector = new steam_connector('localhost', 1900, 'root', 'h6518_W#'); $ldapModule = $steamConnector->get_server_module('persistence:ldap'); $steam_groupname = $steamConnector->predefined_command($ldapModule, 'dn_to_group_name', $groupDN, 0); $steamGroup = steam_factory::get_group($steamConnector, $steam_groupname, 0); $user = steam_factory::get_user($steamConnector, $request->getParameter('username')); $steamGroup->add_member($user, 0); $steamConnector->disconnect(); } else { $view->assign('status', 'warning_2'); $view->assign('statusMsg', 'Systemfehler: LDAP-Kommando fehlgeschlagen!'); } } else { $view->assign('status', 'warning_2'); $view->assign('statusMsg', 'Dieser Benutzer existiert nicht!'); } } // Benutzeraktion: Benutzer aus Gruppe entfernen. if ($request->getParameter('remove') == 'true') { $unremovedUser = array(); for ($i = 1; $i <= $maxParameterIndex; $i++) { if ($request->issetParameter('name' . $i)) { $done = $registry->get('ldapAccess')->ultimate_removeUser($request->getParameter('name' . $i), $registry->get('ldapAccess')->getGroupDN_2($sessionRegistry->get('activeGroup'))); if ($done == false) { $unremovedUser[] = $request->getParameter('name' . $i); } else { // LookUp durchführen $groupDN = $registry->get('ldapAccess')->getGroupDN_2($sessionRegistry->get('activeGroup')); $steamConnector = new steam_connector('localhost', 1900, 'root', 'h6518_W#'); $ldapModule = $steamConnector->get_server_module('persistence:ldap'); $steam_groupname = $steamConnector->predefined_command($ldapModule, 'dn_to_group_name', $groupDN, 0); $steamGroup = steam_factory::get_group($steamConnector, $steam_groupname, 0); $user = steam_factory::get_user($steamConnector, $request->getParameter('name' . $i)); $steamGroup->remove_member($user, 0); $steamConnector->disconnect(); } } } if (count($unremovedUser) === 0) { $view->assign('status', 'ok'); $view->assign('statusMsg', 'Alle markierten Benutzer wurden aus dieser Gruppe entfernt!'); } else { $statusMsg = 'Folgende Benutzer konnten nicht aus der Gruppe entfernt werden:<ul>'; foreach ($unremovedUser as $uid) { $statusMsg .= '<li>' . $uid; } $statusMsg .= '</ul>Die übrigen der markierten Benutzer wurden aus dieser Gruppe entfernt!'; $view->assign('status', 'warning'); $view->assign('statusMsg', $statusMsg); } } // Template-Variablen Werte zuweisen. $view->assign('accessLevel', $sessionRegistry->get('accessLevel')); $view->assign('groupList', $registry->get('ldapAccess')->getGroupsDN()); if ($request->issetParameter('groupSelect')) { $view->assign('groupSelect', $request->getParameter('groupSelect')); } if ($sessionRegistry->get('activeGroup') != null and $sessionRegistry->get('activeGroup') != '') { $memberlist = array(); $memberlist = $registry->get('ldapAccess')->ultimate_getGroupMembers($sessionRegistry->get('activeGroup')); $sessionRegistry->set('maxParameterIndex', count($memberlist) + 1); $view->assign('memberlist', $memberlist); if (!$request->issetParameter('chooseGroup')) { $view->assign('groupSelect', $sessionRegistry->get('activeGroup')); } } // Ausgabe erzeugen $view->render($request, $response); }
public function execute(Request $request, Response $response) { $sessionRegistry = SessionRegistry::getInstance(); $registry = Registry::getInstance(); $view = new TemplateView('createGroup'); // Benutzeraktion: neue Gruppe erstellen. if ($request->issetParameter('createGroup')) { $datacorrectness = true; if (!$request->issetParameter('name') or !$request->issetParameter('owner')) { $datacorrectness = false; } elseif ($request->getParameter('name') == '') { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Bitte geben Sie einen Gruppennamen an!'); } elseif ($this->checkGroupname($request->getParameter('name')) == false) { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Dieser Gruppenname kann nicht verwendet werden. Bitte verwenden Sie keine der genannten Sonderzeichen!'); } elseif ($request->getParameter('owner') == '') { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Sie haben keinen Besitzer angegeben!'); } elseif ($request->getParameter('owner') != '' and $registry->get('ldapAccess')->ultimate_userExists($request->getParameter('owner')) == false) { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Der angegebene Benutzer existiert nicht!'); } elseif ($request->getParameter('name') != '' and $registry->get('ldapAccess')->groupExists($request->getParameter('name'), $sessionRegistry->get('school'), $sessionRegistry->get('district')) == true) { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Dieser Gruppenname existiert bereits. Bitte wählen Sie einen anderen Namen!'); } if ($datacorrectness) { $done = false; // Fall: Zu erstellende Gruppe ist eine Hauptgruppe if ($request->getParameter('groupType') == 'maingroup') { $done = $registry->get('ldapAccess')->createGroup($request->getParameter('name'), $request->getParameter('owner'), $request->getParameter('description')); if ($done != false) { $view->assign('status', 'ok'); $view->assign('statusMsg', 'Die Gruppe wurde erfolgreich angelegt!'); } else { $view->assign('status', 'warning'); $view->assign('statusMsg', 'Systemfehler: LDAP-Kommando fehlgeschlagen!'); } } elseif ($request->getParameter('groupType') == 'subgroup') { $done = $registry->get('ldapAccess')->createGroup($request->getParameter('name'), $request->getParameter('owner'), $request->getParameter('description'), $request->getParameter('parent')); if ($done !== false) { $view->assign('status', 'ok'); $view->assign('statusMsg', 'Die Gruppe wurde erfolgreich angelegt!'); } else { $view->assign('status', 'warning'); $view->assign('statusMsg', 'Systemfehler: LDAP-Kommando fehlgeschlagen!'); } } // falls gruppe erfolgreich angelegt wurde, lookUp durchführen if ($done) { $groupDN = $registry->get('ldapAccess')->getGroupDN_2($request->getParameter('name')); // sTeam $steamConnector = new steam_connector('localhost', 1900, 'root', 'h6518_W#'); if (!$steamConnector->get_login_status()) { $view->assign('status', 'warning'); $view->assign('statusMsg', 'Verbindung zum sTeam-Server konnte nicht erstellt werden.<br>Die Gruppe wurde zwar angelegt, der LookUp jedoch nicht durchgeführt!'); } else { $ldapModule = $steamConnector->get_server_module('persistence:ldap'); $steam_groupname = $steamConnector->predefined_command($ldapModule, 'dn_to_group_name', $groupDN, 0); $steamGroup = steam_factory::get_group($steamConnector, $steam_groupname, 0); $steamGroup->get_members(0); } } } } // Werte den Template-Variablen zuweisen. $view->assign('accessLevel', $sessionRegistry->get('accessLevel')); $view->assign('standardOwner', $sessionRegistry->get('uid')); $view->assign('groupList', $registry->get('ldapAccess')->getGroupsDN()); // Ausgabe erzeugen. $view->render($request, $response); }
function move_group_on_steam($groupDN, $parentDN) { // verbindung zu steam aufbauen $steamConnector = new steam_connector('localhost', 1900, 'root', 'h6518_W#'); // referenz auf die steam-gruppe holen $ldap_module = $steamConnector->get_server_module('persistence:ldap'); $steam_groupname = $steamConnector->predefined_command($ldap_module, 'dn_to_group_name', $groupDN, 0); $steamGroup = steam_factory::get_group($steamConnector, $steam_groupname, 0); // referenz auf die neue parent-group holen $steam_groupname_parent_new = $steamConnector->predefined_command($ldap_module, 'dn_to_group_name', $parentDN, 0); $steamGroup_parent_new = steam_factory::get_group($steamConnector, $steam_groupname_parent_new, 0); // parent-group bestimmen $steamGroup_parent = $steamGroup->get_parent_group(); // gruppe aus der alten parent-group entfernen $steamGroup_parent->remove_member($steamGroup); // gruppe der neuen parent-group hinzufügen $steamGroup_parent_new->add_member($steamGroup); }
public function execute(Request $request, Response $response) { $sessionRegistry = SessionRegistry::getInstance(); $registry = Registry::getInstance(); $view = new TemplateView('changeGroupdata'); $maxParameterIndex = $sessionRegistry->get('maxParameterIndex'); // Benutzeraktion: neue Gruppe gewählt if ($request->issetParameter('chooseGroup') and $request->issetParameter('groupSelect')) { $sessionRegistry->set('activeGroup', $request->getParameter('groupSelect')); } // Benutzeraktion: Gruppendaten bearbeiten. if ($request->issetParameter('changeData')) { // eingegebenen Daten auf Korrektheit überprüfen. $datacorrectness = true; if ($request->issetParameter('groupname') == false or $request->issetParameter('owner') == false) { $datacorrectness = false; } elseif ($request->getParameter('groupname') == '' or $request->getParameter('owner') == '') { $datacorrectness = false; $view->assign('status', 'warning_2'); $view->assign('statusMsg', 'Bitte geben Sie alle benötigten Daten ein!'); } elseif ($request->getParameter('groupname') != '' and $request->getParameter('groupname') != $sessionRegistry->get('activeGroup') and $registry->get('ldapAccess')->groupExists($request->getParameter('groupname'), $sessionRegistry->get('school'), $sessionRegistry->get('district')) == true) { $datacorrectness = false; $view->assign('status', 'warning_2'); $view->assign('statusMsg', 'Dieser Gruppenname existiert bereits. Bitte wählen Sie einen anderen Namen!'); } elseif ($request->getParameter('owner') != '' and $registry->get('ldapAccess')->ultimate_userExists($request->getParameter('owner')) == false) { $datacorrectness = false; $view->assign('status', 'warning_2'); $view->assign('statusMsg', 'Der als Besitzer angegebene Benutzername existiert nicht!'); } elseif ($request->getParameter('parent') == $sessionRegistry->get('activeGroup')) { $datacorrectness = false; $view->assign('status', 'warning_2'); $view->assign('statusMsg', 'Eine Gruppe kann nicht sich selbst als Elterngruppe haben!'); } elseif ($request->getParameter('parent') != $registry->get('ldapAccess')->getParentGroupname($sessionRegistry->get('activeGroup')) and $registry->get('ldapAccess')->hasSubgroups($sessionRegistry->get('activeGroup'))) { $datacorrectness = false; $view->assign('status', 'warning_2'); $view->assign('statusMsg', 'Diese Gruppe besitzt noch Untergruppen, und kann daher keiner neuen Elterngruppe zugeordnet werden!'); } /* // falls die gruppe umbenannt wurde, auf steam-seite aktualisieren if($datacorrectness AND $request->getParameter('groupname') != $sessionRegistry->get('activeGroup')){ $groupDN_new = str_replace('cn='.$sessionRegistry->get('activeGroup'), 'cn='.$request->getParameter('groupname') ,$registry->get('ldapAccess')->getGroupDN_2($sessionRegistry->get('activeGroup'))); $groupDN_old = $registry->get('ldapAccess')->getGroupDN_2($sessionRegistry->get('activeGroup')); // verbindung zu steam aufbauen $steamConnector = new steam_connector('localhost', 1900, 'root', 'h6518_W#'); // neuen steam-namen der gruppe ermitteln $ldap_module = $steamConnector->get_server_module('persistence:ldap'); $steam_groupname_new = $steamConnector->predefined_command($ldap_module, 'dn_to_group_name', $groupDN_new, 0); $steam_groupname_old = $steamConnector->predefined_command($ldap_module, 'dn_to_group_name', $groupDN_old, 0); echo 'alter steam_name: '.$steam_groupname_old.'<br>'; echo 'neuer steam_name: '.$request->getParameter('groupname').'<br>'; $steamGroup = steam_factory::get_group($steamConnector, $steam_groupname_old, 0); echo $steamGroup->set_name($request->getParameter('groupname'), 0); } */ if ($datacorrectness) { $data = array(); $data['groupname'] = $request->getParameter('groupname'); $data['owner'] = $request->getParameter('owner'); $data['description'] = $request->getParameter('description'); $data['parent'] = $request->getParameter('parent'); $done = $registry->get('ldapAccess')->setGroupInformation($sessionRegistry->get('activeGroup'), $data); if ($done === true) { $view->assign('status', 'ok_2'); $view->assign('statusMsg', 'Die Daten wurden geändert!'); } else { $view->assign('status', 'warning_2'); $view->assign('statusMsg', 'Systemfehler: LDAP-Kommando fehlgeschlagen!'); } } } if ($request->issetParameter('performAction')) { if ($request->issetParameter('actionSelect')) { // Benutzeraktion: Benutzer aus Gruppe entfernen. if ($request->getParameter('actionSelect') == 'remove') { $unremovedUser = array(); $groupDN = $registry->get('ldapAccess')->getGroupDN_2($sessionRegistry->get('activeGroup')); $steamConnector = new steam_connector('localhost', 1900, 'root', 'h6518_W#'); $ldapModule = $steamConnector->get_server_module('persistence:ldap'); $steam_groupname = $steamConnector->predefined_command($ldapModule, 'dn_to_group_name', $groupDN, 0); $steamGroup = steam_factory::get_group($steamConnector, $steam_groupname, 0); for ($i = 1; $i <= $maxParameterIndex; $i++) { if ($request->issetParameter('name' . $i)) { $done = $registry->get('ldapAccess')->unsetUserData($request->getParameter('name' . $i), 'membership', $sessionRegistry->get('activeGroup')); if ($done == false) { $unremovedUser[] = $request->getParameter('name' . $i); } else { $user = steam_factory::get_user($steamConnector, $request->getParameter('name' . $i)); $steamGroup->remove_member($user, 0); } } } $steamConnector->disconnect(); if (count($unremovedUser) === 0) { $view->assign('status', 'ok'); $view->assign('statusMsg', 'Alle markierten Benutzer wurden aus dieser Gruppe entfernt!'); } else { $statusMsg = 'Folgende Benutzer konnten nicht aus der Gruppe entfernt werden:<ul>'; foreach ($unremovedUser as $uid) { $statusMsg .= '<li>' . $uid; } $statusMsg .= '</ul>Die übrigen der markierten Benutzer wurden aus dieser Gruppe entfernt!'; $view->assign('status', 'warning'); $view->assign('statusMsg', $statusMsg); } } elseif ($request->getParameter('actionSelect') == 'add') { $unaddedUser = array(); $groupDN = $registry->get('ldapAccess')->getGroupDN_2($request->getParameter('targetGroup')); $steamConnector = new steam_connector('localhost', 1900, 'root', 'h6518_W#'); $ldapModule = $steamConnector->get_server_module('persistence:ldap'); $steam_groupname = $steamConnector->predefined_command($ldapModule, 'dn_to_group_name', $groupDN, 0); $steamGroup = steam_factory::get_group($steamConnector, $steam_groupname, 0); for ($i = 1; $i <= $maxParameterIndex; $i++) { if ($request->issetParameter('name' . $i)) { if ($request->issetParameter('targetGroup')) { $done = $registry->get('ldapAccess')->setUserData($request->getParameter('name' . $i), 'membership', $request->getParameter('targetGroup')); if ($done == false) { $unaddedUser[] = $request->getParameter('name' . $i); } else { $user = steam_factory::get_user($steamConnector, $request->getParameter('name' . $i)); $steamGroup->add_member($user, 0); } } } } $steamConnector->disconnect(); if (count($unaddedUser) === 0) { $view->assign('status', 'ok'); $view->assign('statusMsg', 'Alle markierten Benutzer wurden der Gruppe "' . $request->getParameter('targetGroup') . '" hinzugefügt!'); } else { $statusMsg = 'Folgende Benutzer konnten der Gruppe "' . $request->getParameter('targetGroup') . '" nicht hinzugefügt werden:<ul>'; foreach ($unaddedUser as $uid) { $statusMsg .= '<li>' . $uid; } $statusMsg .= '</ul>'; $view->assign('status', 'warning'); $view->assign('statusMsg', $statusMsg); } } elseif ($request->getParameter('actionSelect') == 'move') { $unmovedUser = array(); $groupDN_old = $registry->get('ldapAccess')->getGroupDN_2($sessionRegistry->get('activeGroup')); $groupDN_new = $registry->get('ldapAccess')->getGroupDN_2($request->getParameter('targetGroup')); $steamConnector = new steam_connector('localhost', 1900, 'root', 'h6518_W#'); $ldapModule = $steamConnector->get_server_module('persistence:ldap'); $steam_groupname_old = $steamConnector->predefined_command($ldapModule, 'dn_to_group_name', $groupDN_old, 0); $steam_groupname_new = $steamConnector->predefined_command($ldapModule, 'dn_to_group_name', $groupDN_new, 0); $steamGroup_old = steam_factory::get_group($steamConnector, $steam_groupname_old, 0); $steamGroup_new = steam_factory::get_group($steamConnector, $steam_groupname_new, 0); for ($i = 1; $i <= $maxParameterIndex; $i++) { if ($request->issetParameter('name' . $i)) { if ($sessionRegistry->get('activeGroup') != 'Gruppenlos') { $done = $registry->get('ldapAccess')->unsetUserData($request->getParameter('name' . $i), 'membership', $sessionRegistry->get('activeGroup')); } $done2 = $registry->get('ldapAccess')->setUserData($request->getParameter('name' . $i), 'membership', $request->getParameter('targetGroup')); if ($done == false or $done2 == false) { $unremovedUser[] = $request->getParameter('name' . $i); } else { $user = steam_factory::get_user($steamConnector, $request->getParameter('name' . $i)); $steamGroup_old->remove_member($user, 0); $steamGroup_new->add_member($user, 0); } } } if (count($unmovedUser) === 0) { $view->assign('status', 'ok'); $view->assign('statusMsg', 'Alle markierten Benutzer wurden in die Gruppe "' . $request->getParameter('targetGroup') . '" verschoben!'); } else { $statusMsg = 'Folgende Benutzer konnten nicht in die Gruppe verschoben werden:<ul>'; foreach ($unremovedUser as $uid) { $statusMsg .= '<li>' . $uid; } $statusMsg .= '</ul>Die übrigen der markierten Benutzer wurden verschoben!'; $view->assign('status', 'warning'); $view->assign('statusMsg', $statusMsg); } } } } // Template-Variablen Werte zuweisen. $view->assign('accessLevel', $sessionRegistry->get('accessLevel')); $view->assign('groupList', $registry->get('ldapAccess')->getGroupsDN()); $view->assign('groupList2', $registry->get('ldapAccess')->getGroupsDN()); $view->assign('targetGroupList', $registry->get('ldapAccess')->getGroupsDN()); if ($request->issetParameter('groupSelect')) { $view->assign('groupSelect', $request->getParameter('groupSelect')); } if ($sessionRegistry->get('activeGroup') != null and $sessionRegistry->get('activeGroup') != '') { $view->assign('groupdata', $registry->get('ldapAccess')->getGroupInformation($sessionRegistry->get('activeGroup'))); if ($sessionRegistry->get('activeGroup') == 'Gruppenlos') { $memberlist = array(); //$memberlist = $registry->get('ldapAccess')->search('', $sessionRegistry->get('activeGroup')); $memberlist = $registry->get('ldapAccess')->getGroupMembers('Gruppenlos'); $sessionRegistry->set('maxParameterIndex', count($memberlist) + 1); $view->assign('memberlist', $memberlist); } else { $memberlist = array(); $memberlist = $registry->get('ldapAccess')->getGroupMembers($sessionRegistry->get('activeGroup')); $sessionRegistry->set('maxParameterIndex', count($memberlist) + 1); $view->assign('memberlist', $memberlist); } if (!$request->issetParameter('chooseGroup')) { $view->assign('groupSelect', $sessionRegistry->get('activeGroup')); } } // Ausgabe erzeugen $view->render($request, $response); }
public function execute(Request $request, Response $response) { $sessionRegistry = SessionRegistry::getInstance(); $registry = Registry::getInstance(); $view = new TemplateView('changePassword'); // Variablen der Template-Dateien Wrte zuweisen. $view->assign('accessLevel', $sessionRegistry->get('accessLevel')); $view->assign('groupList', $registry->get('ldapAccess')->getGroupsDN()); // Benutzeraktion: fremdes Passwort ändern if ($request->issetParameter('changePW')) { // Eingabedaten auf Korrektheit prüfen $datacorrectness = true; if (!$request->issetParameter('name') or $request->getParameter('name') == '') { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Sie haben keinen Benutzernamen angegeben!'); } elseif (!$registry->get('ldapAccess')->userExists($request->getParameter('name'))) { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Der angegebene Benutzer existiert nicht an dieser Schule!'); } elseif (!$request->issetParameter('passwordNew') or !$request->issetParameter('passwordRetype') or $request->getParameter('passwordNew') == '' or $request->getParameter('passwordRetype') == '') { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Sie haben kein neues Passwort angegeben!'); } elseif ($request->getParameter('passwordNew') != $request->getParameter('passwordRetype')) { $datacorrectness = false; $view->assign('status', 'warning'); $view->assign('statusMsg', 'Das neue Passwort und die Bestätigung stimmen nicht überein!'); } if ($datacorrectness) { // Email-Adresse des Benutzers ermitteln $data = array(); $data = $registry->get('ldapAccess')->getUserInformation($request->getParameter('name')); if (isset($data['email'])) { $email = $data['email']; } else { $email = ''; } // Fall: Es wurde eine Email-Adresse ermittelt und ein zufälliges Passwort generiert. if ($request->issetParameter('randomPW') and $email != '') { $newPW = $this->randomPW(); $done = $registry->get('ldapAccess')->replaceUserData($request->getParameter('name'), 'userPassword', $newPW); if ($done != false) { $status = $this->mailPW($email, $newPW); if ($status) { $view->assign('status', 'ok'); $view->assign('statusMsg', 'Das Passwort wurde geändert!'); } else { $view->assign('status', 'warning'); $view->assign('statusMsg', 'Das Passwort wurde geändert, allerdings konnte die Email nicht versendet werden.'); } // passwort auf steam ändern $steamConnector = new steam_connector('localhost', 1900, 'root', 'h6518_W#'); $ldap_module = $steamConnector->get_server_module("ldap"); $steamConnector->predefined_command($ldap_module, "uncache_user", array($request->getParameter('name')), 0); } else { $view->assign('status', 'warning'); $view->assign('statusMsg', 'Systemfehler: LDAP-Kommando fehlgeschlagen!'); } } elseif ($request->issetParameter('randomPW') and $email == '') { $view->assign('status', 'warning'); $view->assign('statusMsg', 'Dieser Benutzer hat keine Email-Adresse angegeben. Deswegen kann kein zufälliges Passwort generiert werden!'); } elseif (!$request->issetParameter('randomPW')) { $done = $registry->get('ldapAccess')->replaceUserData($request->getParameter('name'), 'userPassword', $request->getParameter('passwordNew')); if ($done != false) { if ($request->issetParameter('mail')) { $mailStatus = $this->mailPW($request->getParameter('name'), $request->getParameter('passwordNew')); } if ($request->issetParameter('mail') and $mailStatus == true) { $view->assign('status', 'ok'); $view->assign('statusMsg', 'Das Passwort wurde geändert und per Mail an den Benutzer gesendet!'); } elseif ($request->issetParameter('mail') and $mailStatus == false) { $view->assign('status', 'warning'); $view->assign('statusMsg', 'Das Passwort wurde geändert jedoch hatte der Benutzer keine Email-Adresse angegeben!'); } elseif (!$request->issetParameter('mail')) { $view->assign('status', 'ok'); $view->assign('statusMsg', 'Das Passwort wurde geändert!'); } // passwort auf steam ändern $steamConnector = new steam_connector('localhost', 1900, 'root', 'h6518_W#'); $ldap_module = $steamConnector->get_server_module("ldap"); $steamConnector->predefined_command($ldap_module, "uncache_user", array($request->getParameter('name')), 0); } else { $view->assign('status', 'warning'); $view->assign('statusMsg', 'Systemfehler: LDAP-Kommando fehlgeschlagen!'); } } } } // Benutzeraktion: Suche nach Benutzernamen if ($request->issetParameter('userSearch')) { // Daten der SessionRegistry aktualisieren. if ($request->issetParameter('namefilter') and $request->issetParameter('namefilter') != '') { $sessionRegistry->set('activeNamefilter', $request->getParameter('namefilter')); } else { $sessionRegistry->set('activeNamefilter', '*'); } $sessionRegistry->set('activeGroup', $request->getParameter('groupSelect')); } if ($sessionRegistry->get('activeGroup') != null) { $view->assign('namefilter', $sessionRegistry->get('activeNamefilter')); $view->assign('groupSelect', $sessionRegistry->get('activeGroup')); $view->assign('results', $registry->get('ldapAccess')->search($sessionRegistry->get('activeNamefilter'), $sessionRegistry->get('activeGroup'))); } // Ausgabe erzeugen $view->render($request, $response); }
$searchResult = array(); $min_search_string_count = 4; if ($action == "search") { $searchString = trim($searchString); if (strlen($searchString) < $min_search_string_count) { $error[] = "error_search_string_too_short"; } else { /* prepare search string */ $modSearchString = $searchString; if ($modSearchString[0] != "%") { $modSearchString = "%" . $modSearchString; } if ($modSearchString[strlen($modSearchString) - 1] != "%") { $modSearchString = $modSearchString . "%"; } $searchobject = $steam->get_server_module("searching"); $search = new search_define(); if ($searchType == "searchUser") { $search->extendAttr("OBJ_NAME", search_define::like($modSearchString)); $resultItems = $searchobject->search($search, CLASS_USER); foreach ($resultItems as $r) { $id = $r->get_id(); $resultItemName[$id] = $r->get_name(1); } } elseif ($searchType == "searchGroup") { $search->extendAttr("GROUP_NAME", search_define::like($modSearchString)); $resultItems = $searchobject->search($search, CLASS_GROUP); foreach ($resultItems as $r) { $id = $r->get_id(); $resultItemName[$id] = $r->get_groupname(1); }