function check_permissions($user, $oid, $password) { $query = "select v from i_users where k='" . $user . "'"; $result = mysql_query($query); $row = mysql_fetch_row($result); $uid = $result[0]; // if we dont have uid we can get this from i_users $query = "select v from i_security_cache where k='" . $oid . ":" . $uid . "'"; $result = mysql_query($query); $row = mysql_fetch_row($result); $permissions = $row[0]; // read permission is bit "1" if (($permissions & 1) == 1) { return 1; } else { $permission_denied = $permissions >> 16; if (($permission_denied & 1) == 1) { return 0; } else { $STEAM = new steam_connector(STEAM_SERVER, STEAM_PORT, $user, $password); $document = steam_factory::get_object($STEAM->get_id(), (int) $oid, CLASS_OBJECT); if ($document->check_access_read($STEAM->get_current_steam_user()) === 1) { return 1; } } } return 0; }
function test_get_login_status() { $steam_connector = new steam_connector("192.168.154.139", 1900, "root", "steam123"); $this->assertTrue($steam_connector->get_login_status(), "checking get_login_status on success"); $steam_connector = new steam_connector("192.168.154.139", 1900, "root", "steam1235"); $this->assertFalse($steam_connector->get_login_status(), "checking get_login_status on fail"); }
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 static function connect($server = STEAM_SERVER, $port = STEAM_PORT, $login = STEAM_GUEST_LOGIN, $password = STEAM_GUEST_PW) { try { $GLOBALS["STEAM"] = steam_connector::connect($server, $port, $login, $password); } catch (ParameterException $p) { throw new Exception("Missing or wrong params for server connection", E_CONNECTION); } catch (Exception $e) { throw new Exception("No connection to sTeam server ({$server}:{$port}).", E_CONNECTION); } }
//include stuff require_once "./config/config.php"; require_once "{$steamapi_doc_root}/steam_connector.class.php"; require_once "{$config_doc_root}/classes/template.inc"; //require_once("$config_doc_root/classes/debugHelper.php"); require_once "{$config_doc_root}/includes/sessiondata.php"; require_once "{$steamapi_doc_root}/modules/searching.class.php"; require_once "{$steamapi_doc_root}/modules/search_define.class.php"; //****************************************************** //** Precondition //****************************************************** $action = isset($_POST["action"]) ? $_POST["action"] : ""; //****************************************************** //** sTeam Stuff //****************************************************** $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); if (!$steam || !$steam->get_login_status()) { header("Location: {$config_webserver_ip}/index.html"); exit; } /** log-in user */ $steamUser = $steam->get_login_user(); /** get buddies */ $buddies = $steamUser->get_buddies(1); $result = $steam->buffer_flush(); $buddies = $result[$buddies]; $buddies_user = array(); $buddies_group = array(); $buddies_user_name = array(); $buddies_group_name = array(); foreach ($buddies as $buddy) {
require_once "./config/config.php"; require_once "{$steamapi_doc_root}/steam_connector.class.php"; require_once "{$config_doc_root}/classes/template.inc"; require_once "{$config_doc_root}/classes/doc_content.php"; #require_once("$config_doc_root/classes/debugHelper.php"); require_once "{$config_doc_root}/includes/sessiondata.php"; require_once "{$config_doc_root}/includes/derive_icon.php"; require_once "{$config_doc_root}/includes/derive_menu.php"; require_once "{$config_doc_root}/includes/derive_url.php"; require_once "{$config_doc_root}/config/mimetype_map.php"; //****************************************************** //** Precondition //****************************************************** $workroom_id = isset($_GET["workroom"]) ? $_GET["workroom"] : ""; $environment_id = isset($_GET["environment"]) ? $_GET["environment"] : ""; $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); if (!$steam || !$steam->get_login_status()) { header("Location: {$config_webserver_ip}/index.html"); exit; } //current room steam object should be the trashbin if ((int) $object != 0) { $trashbin = steam_factory::get_object($steam, $object); } $trashbin_path = $trashbin->get_path(1); //check if user may write in this folder $write_allowed = $trashbin->check_access_write($steam->get_login_user(), 1); //get inventory and inventorys attributes if allowed to $allowed = $trashbin->check_access_read($steam->get_login_user(), 1); $result = $steam->buffer_flush(); $write_allowed = $result[$write_allowed];
require_once "../../config/config.php"; require_once "{$steamapi_doc_root}/steam_connector.class.php"; require_once "{$config_doc_root}/classes/template.inc"; //require_once("$config_doc_root/classes/debugHelper.php"); require_once "{$config_doc_root}/includes/sessiondata.php"; require_once "{$config_doc_root}/includes/derive_icon.php"; require_once "{$config_doc_root}/includes/tools.php"; //****************************************************** //** Presumption //****************************************************** $column_id = isset($_GET["column"]) ? $_GET["column"] : (isset($_POST["column"]) ? $_POST["column"] : ""); $action = isset($_POST["mission"]) ? $_POST["mission"] : ""; //****************************************************** //** sTeam Stuff //****************************************************** $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); if (!$steam || !$steam->get_login_status()) { header("Location: {$config_webserver_ip}/index.html"); exit; } //current column steam object $column = steam_factory::get_object($steam, $column_id); // get portal (i.e. environment) $portal = $column->get_environment(); // get column attributes $column_attributes = $column->get_attributes(array(OBJ_NAME, OBJ_DESC, "bid:portal:column:width"), 1); //get permissions $readable = $column->check_access_read($steam->get_login_user(), 1); $writeable = $column->check_access_write($steam->get_login_user(), 1); // retrieve results $result = $steam->buffer_flush();
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); }
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); }
require_once "{$steamapi_doc_root}/steam_connector.class.php"; require_once "./classes/questionary_geo.php"; require_once "{$config_doc_root}/classes/template.inc"; require_once "{$config_doc_root}/includes/sessiondata.php"; require_once "./classes/rights.php"; //****************************************************** //** Presumption //****************************************************** $questionary_id = isset($_GET["questionary"]) ? $_GET["questionary"] : (isset($_POST["questionary"]) ? $_POST["questionary"] : ""); $action = isset($_GET["mission"]) ? $_GET["mission"] : (isset($_POST["mission"]) ? $_POST["mission"] : ""); $question_id = isset($_GET["question_id"]) ? $_GET["question_id"] : (isset($_POST["question_id"]) ? $_POST["question_id"] : ""); //****************************************************** //** sTeam Stuff //****************************************************** //login und $steam def. in "./includes/login.php" $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); if (!$steam || !$steam->get_login_status()) { header("Location: {$config_webserver_ip}/accessdenied.html"); exit; } //current steam objects if ((int) $questionary_id != 0) { $questionary = steam_factory::get_object($steam, $questionary_id); $question_folder = $questionary->get_object_by_name('questions'); $answer_folder = $questionary->get_object_by_name('answers'); if ((int) $question_id != 0) { $question = steam_factory::get_object($steam, $question_id); } } else { header("Location: {$config_webserver_ip}/index.php"); }
function setBidLastSessionTime($config_server_ip, $config_server_port, $login_name, $login_pwd, $connect = true) { try { //login und $steam def. in "./includes/login.php" $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); if ($steam->get_login_status()) { $steamUser = $steam->get_login_user(); $bidLastSessionTime = $steamUser->get_attribute("bid:last_session_time"); if (!$bidLastSessionTime || !$connect) { $bidLastSessionTime = array(); $bidLastSessionTime[0] = $bidLastSessionTime[1] = time(); } else { $bidLastSessionTime[0] = $bidLastSessionTime[1]; $bidLastSessionTime[1] = time(); } $steamUser->set_attribute("bid:last_session_time", $bidLastSessionTime); $steam->disconnect(); } } catch (Exception $e) { } }
//require_once("$config_doc_root/classes/doc_content.php"); //require_once("$config_doc_root/classes/debugHelper.php"); require_once "{$config_doc_root}/includes/sessiondata.php"; require_once "{$config_doc_root}/includes/derive_menu.php"; require_once "{$config_doc_root}/includes/derive_url.php"; //****************************************************** //** Precondition //****************************************************** $properties = isset($_GET["properties"]) ? $_GET["properties"] : (isset($_POST["properties"]) ? $_POST["properties"] : 0); $page = (int) isset($_GET["page"]) ? $_GET["page"] : 1; $last_page = (int) isset($_POST["last_page"]) ? $_POST["last_page"] : 0; $attrib = array(OBJ_NAME, OBJ_DESC, OBJ_KEYWORDS, OBJ_TYPE, "bid:doctype", DOC_MIME_TYPE, DOC_EXTERN_URL, "bid:collectiontype", "bid:presentation", "bid:frameset", "bid:fullscreen", "bid:hidden", "bid:description", "bid:tags"); //****************************************************** //** sTeam Stuff //****************************************************** $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); if (!$steam || !$steam->get_login_status()) { header("Location: {$config_webserver_ip}/index.html"); exit; } //get old/saved form values and merge them with the recently selected if (isset($_POST["changed"])) { if (!($changed = @unserialize(rawurldecode($_POST["changed"])))) { $changed = ""; } $post = $_POST; unset($post["changed"]); unset($post["orderfiles"]); //catch unset checkboxes switch ($last_page) { //clean general values
Author: Bastian Schröder <*****@*****.**> ****************************************************************************/ //include stuff require_once "./config/config.php"; require_once "{$steamapi_doc_root}/steam_connector.class.php"; require_once "./classes/template.inc"; require_once "{$config_doc_root}/config/language_map.php"; // require_once("./classes/debugHelper.php"); require_once "./includes/sessiondata.php"; $action = isset($_POST["action"]) ? $_POST["action"] : ""; //****************************************************** //** sTeam Stuff //****************************************************** //login und $steam def. in "./includes/login.php" $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); if (!$steam || !$steam->get_login_status()) { header("Location: {$config_webserver_ip}/index.html"); exit; } //current room steam object if ((int) $object != 0) { $current_room = steam_factory::get_object($steam, $object); } else { $current_room = $steam->get_login_user()->get_workroom(); } // action: try to login and get tags for user if (isset($_POST["DELICIOUS_USER"]) && isset($_POST["DELICIOUS_PASSWD"])) { // get posts for a tag, if set. if (isset($_POST["DELICIOUS_TAG"])) { // build the url fpr the del.icio.us api
<?php // no direct call if (!defined('_VALID_KOALA')) { header("location:/"); exit; } include_once "../etc/koala.conf.php"; echo "<h1>Prüfe die Konfiguration</h1>"; echo "Gastanmeldung......"; $steam = new steam_connector(STEAM_SERVER, STEAM_PORT, STEAM_ROOT_LOGIN, STEAM_ROOT_PW); $GLOBALS["STEAM"] = $steam; $steam_user = $steam->get_current_steam_user(); echo $steam_user->get_name(); echo "<span style=\"color:green;font-size:small\">erfolgreich</span><br />"; if (!$steam || !$steam->get_login_status()) { print "No server connection!"; exit; } echo "connection data<br />"; echo "server: " . STEAM_SERVER . ":" . STEAM_PORT . "<br />"; echo "PublicGroups: " . steam_factory::groupname_to_object($steam->get_id(), "PublicGroups")->get_id() . "<br />"; echo "PrivGroups: " . steam_factory::groupname_to_object($steam->get_id(), "PrivGroups")->get_id() . "<br />"; echo "Faculties: " . steam_factory::groupname_to_object($steam->get_id(), "Faculties")->get_id() . "<br />"; echo "Courses: " . steam_factory::groupname_to_object($steam->get_id(), "Courses")->get_id() . "<br />"; echo "Prüfe STEAM_PUBLIC_GROUP......."; if (defined("STEAM_PUBLIC_GROUP") && STEAM_PUBLIC_GROUP != "") { check_steam_group(STEAM_PUBLIC_GROUP); // try { // $steam_public_group = steam_factory::get_object($steam->get_id(), STEAM_PUBLIC_GROUP); // } catch (Exception $e) {
require_once "{$config_doc_root}/includes/sessiondata.php"; require_once "{$config_doc_root}/includes/norm_post.php"; require_once "{$config_doc_root}/includes/slashes.php"; require_once "{$config_doc_root}/includes/derive_url.php"; require_once "{$config_doc_root}/includes/tools.php"; //****************************************************** //** Presumption //****************************************************** $portlet = isset($_GET["portlet"]) ? $_GET["portlet"] : (isset($_POST["portlet"]) ? $_POST["portlet"] : $_SESSION["portlet"]); $action = isset($_GET["mission"]) ? $_GET["mission"] : (isset($_POST["mission"]) ? $_POST["mission"] : ""); $_SESSION["portlet"] = $portlet; //****************************************************** //** sTeam Stuff //****************************************************** //login und $steam def. in "./includes/login.php" $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); if (!$steam || !$steam->get_login_status()) { header("Location: {$config_webserver_ip}/index.html"); #header("Location: $config_webserver_ip/start.html"); ?? exit; } //get portlet, portal and the needed data from them $portlet = steam_factory::get_object($steam, $portlet); $portlet->get_attributes(array("bid:portlet", "bid:portlet:content")); $portlet_name = $portlet->get_attribute(OBJ_NAME); $portlet_title = $portlet->get_attribute(OBJ_DESC); if (trim($portlet_title) == "") { $portlet_title = $portlet_name; } else { $portlet_name = $portlet_title; }
$sessionLoginFailureAction = "closeSubWindow"; require_once "{$config_doc_root}/includes/sessiondata.php"; require_once "{$config_doc_root}/includes/norm_post.php"; //****************************************************** //** Precondition //****************************************************** $document = isset($_GET["object"]) ? $_GET["object"] : (isset($_POST["object"]) ? $_POST["object"] : 0); $documentId = isset($_GET["documentId"]) ? $_GET["documentId"] : (isset($_POST["documentId"]) ? $_POST["documentId"] : 0); $action = isset($_POST["action"]) ? $_POST["action"] : ""; $content = isset($_POST["content"]) ? $_POST["content"] : ""; $mimeType = isset($_POST["mimeType"]) ? $_POST["mimeType"] : ""; //****************************************************** //** sTeam Stuff //****************************************************** //login und $steam def. in "./includes/login.php" $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); if (!$steam || !$steam->get_login_status()) { $do_login = True; $error[] = "error_not_logged_in"; } else { $document = steam_factory::get_object($steam, $document); $documentId = $document->get_id(); $access_write = $document->check_access_write($steam->get_login_user()); $access_read = $document->check_access_read($steam->get_login_user()); $do_login = False; } $error = array(); if ($action == "save") { if (!$access_write) { $do_login = True; $error[] = "error_not_logged_in";
} } if (!$is_buddy) { $buddies[] = $contact; $user->set_attribute("USER_FAVOURITES", $buddies); } // Clear buddies from cache $cache = get_cache_function($user->get_name(), 86400); $cache->drop("lms_steam::user_get_buddies", $user->get_name()); //$contact->contact_confirm(); // Is new contact in the list of contacts to confirm ? $toconfirm = $user->get_attribute("USER_CONTACTS_TOCONFIRM"); if (!is_array($toconfirm)) { $toconfirm = array(); } $admin_steam = new steam_connector(STEAM_SERVER, STEAM_PORT, STEAM_ROOT_LOGIN, STEAM_ROOT_PW); $acontact = steam_factory::get_object($admin_steam->get_id(), $contact->get_id(), CLASS_USER); // set confirmed contacts of contact $cc = $acontact->get_attribute("USER_CONTACTS_CONFIRMED"); if (!is_array($cc)) { $cc = array(); } $cc[$user->get_id()] = 1; $cc["_OBJECT_KEYS"] = "TRUE"; $acontact->set_attribute("USER_CONTACTS_CONFIRMED", $cc); // set contacts to confirm of contact $ctc = $acontact->get_attribute("USER_CONTACTS_TOCONFIRM"); if (!is_array($ctc)) { $ctc = array(); } $found = FALSE;
****************************************************************************/ //include stuff require_once "../../config/config.php"; require_once "{$steamapi_doc_root}/steam_connector.class.php"; require_once "{$config_doc_root}/classes/template.inc"; require_once "{$config_doc_root}/includes/sessiondata.php"; //****************************************************** //** Presumption //****************************************************** $image = isset($_GET["image"]) ? $_GET["image"] : (isset($_POST["image"]) ? $_POST["image"] : ""); $action = isset($_GET["action"]) ? $_GET["action"] : (isset($_POST["action"]) ? $_POST["action"] : ""); //****************************************************** //** sTeam Stuff //****************************************************** //login und $steam def. in "./includes/login.php" $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); if (!$steam || !$steam->get_login_status()) { header("Location: {$config_webserver_ip}/index.html"); exit; } // displayed image object $image = $image != 0 ? steam_factory::get_object($steam, $image) : 0; /** log-in user */ $steamUser = $steam->get_login_user(); //get permissions $readable = $image->check_access_read($steam->get_login_user()); $writable = $image->check_access_write($steam->get_login_user()); $trash = $steamUser->get_attribute(USER_TRASHBIN, 0); if (!$readable) { die("Keine Rechte vorhanden!<br>"); }
private function get_document_data($login, $password, $identifier, $identifier_type, $width = false, $height = false) { $STEAM = \steam_connector::connect(STEAM_SERVER, STEAM_PORT, $login, $password); if ($identifier_type === "name") { $document = $STEAM->predefined_command($STEAM->get_module("icons"), "get_icon_by_name", array((string) $identifier), 0); } else { if ($identifier_type === "id") { $document = \steam_factory::get_object($STEAM->get_id(), (int) $identifier); if (!isset($this->filename)) { header("location: " . PATH_URL . "Download/Document/{$identifier}/{$document->get_name()}"); exit; } } } // If user is not logged in, open login dialog. If user is logged in // and not guest, then display "Access denied" message. if (!$document->check_access_read($STEAM->get_current_steam_user())) { if ($login == 'guest') { throw new \Exception("Access denied. Please login.", E_USER_AUTHORIZATION); } else { throw new \Exception("Access denied.", E_USER_RIGHTS); } } if (!is_object($document)) { return array("content" => array()); } // array is considered to be an error $document->get_attributes(array("OBJ_NAME", "DOC_MIME_TYPE", "DOC_LAST_MODIFIED"), TRUE); if (!$width && !$height) { //$tnr_content = $document->get_content(TRUE); // workaround: get data from sTeam webinterface $tnr_contentsize = $document->get_content_size(TRUE); } else { $tnr_imagecontent = $document->get_thumbnail_data($width, $height, 0, TRUE); } $result = $STEAM->buffer_flush(); if (isset($tnr_imagecontent)) { // handle thumbnail data $data["mimetype"] = $result[$tnr_imagecontent]["mimetype"]; $data["lastmodified"] = $result[$tnr_imagecontent]["timestamp"]; $data["name"] = $result[$tnr_imagecontent]["name"]; $data["content"] = $result[$tnr_imagecontent]["content"]; $data["contentsize"] = $result[$tnr_imagecontent]["contentsize"]; } else { if ($identifier_type === "id") { $data["mimetype"] = $document->get_attribute("DOC_MIME_TYPE"); $data["lastmodified"] = $document->get_attribute("DOC_LAST_MODIFIED"); $data["name"] = $document->get_name(); $data["contentsize"] = $document->get_content_size(); $data["content"] = $document->get_content(); /* $data["contentsize"] = $result[$tnr_contentsize]; //$data["content"] = $result[$tnr_content]; // workaround: get data from sTeam webinterface // workaround: get content from sTeam webinterface, because //$data["content"] = $document->get_content(); // results in *huge* memory overheads (a 15 MB download fails with 60 MB scrip memory limit! if (defined("LOG_DEBUGLOG")) { $time1 = microtime(TRUE); \logging::write_log( LOG_DEBUGLOG, "get_document::get_document_data(" . $login . ", *****" . ", " . $identifier . ", ". $identifier_type . ", false, false)\t " . $login . " \t". $identifier . " \t" . $document->get_name() . " \t" . $data["contentsize"] . " Bytes \t... " ); } $https_port = (int)$STEAM->get_config_value( "https_port" ); if ( $https_port == 443 || $https_port == 0 ) $https_port = ""; else $https_port = ":" . (string)$https_port; $ch = curl_init( "https://" . STEAM_SERVER . $https_port . "/scripts/get.pike?object=" . $identifier ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, TRUE ); curl_setopt( $ch, CURLOPT_BINARYTRANSFER, TRUE ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, FALSE ); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 ); curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 120 ); curl_setopt( $ch, CURLOPT_USERPWD, $login . ":" . $password ); $data["content"] = curl_exec( $ch ); curl_close( $ch ); if (defined("LOG_DEBUGLOG")) { \logging::append_log( LOG_DEBUGLOG, " \t" . round((microtime(TRUE) - $time1) * 1000 ) . " ms"); } } else { $data = array( "content" => array() ); // array is considered an error }*/ } } return $data; }
public function createEmployee($login, $password, $email, $firstname, $lastname, $branchID = "", $customerID = "") { $connector = new steam_connector(STEAM_SERVER, STEAM_PORT, STEAM_ROOT_LOGIN, STEAM_ROOT_PW); // Create user $activationCode = steam_factory::create_user($connector->get_id(), $login, $password, $email, $lastname, $firstname); // Get new user and activate $newUser = steam_factory::get_user($connector->get_id(), $login); $newUser->activate($activationCode); if ($branchID != "" && $branchID != "0") { // Add user to branch group $branch = new steam_group($connector->get_id(), $branchID); $branch->add_member($newUser); // Add user to customer group $customer = $branch->get_parent_group(); $customer->add_member($newUser); $newUser->set_attribute("BRANCH_ID", $branchID); } else { if ($customerID != "" && $customerID != "0") { $customer = new steam_group($connector->get_id(), $customerID); $customer->add_member($newUser); } } // Add user to base group $base = steam_factory::get_group($connector->get_id(), BASE_GROUP); $base->add_member($newUser); $newUser->set_attribute(GENERATED_PASSWORD, $password); $newUser->set_attribute("USER_LANGUAGE", "german"); $newUser->set_attribute("OBJ_DESC", "Teilnehmer"); //hack, adding user to course. remove this //steam_factory::get_group($GLOBALS["STEAM"]->get_id(), "Courses.Goertz.G-01.learners")->add_member($newUser); //$connector->disconnect(); return $activationCode; }
Bastian Schröder <*****@*****.**> ****************************************************************************/ //include stuff require_once "./config/config.php"; require_once "{$steamapi_doc_root}/steam_connector.class.php"; require_once "./classes/template.inc"; require_once "{$config_doc_root}/config/language_map.php"; // require_once("./classes/debugHelper.php"); require_once "./includes/sessiondata.php"; $action = isset($_POST["action"]) ? $_POST["action"] : ""; //****************************************************** //** sTeam Stuff //****************************************************** //login und $steam def. in "./includes/login.php" $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); if (!$steam || !$steam->get_login_status()) { header("Location: {$config_webserver_ip}/index.html"); exit; } if ($action == "change") { $user_prefs = array(OBJ_DESC => $_POST["USER_DESCRIPTION"], USER_ADRESS => $_POST["USER_ADRESS"], USER_EMAIL => $_POST["USER_EMAIL"], USER_LANGUAGE => $_POST["user_language"], "bid:user_callto" => $_POST["user_callto"], "bid:user_im_adress" => $_POST["user_im_adress"], "bid:user_im_protocol" => $_POST["user_im_protocol"], "bid:treeview_mini" => $_POST["treeview_mini"], "bid:show_hidden" => $_POST["show_hidden"]); $user_prefs["bid:treeview"] = isset($_POST["treeview"]) ? $_POST["treeview"] : "on"; $steam->get_login_user()->set_attributes($user_prefs); } $_SESSION["treeview"] = $steam->get_login_user()->get_attribute("bid:treeview") == "on" ? true : false; $_SESSION["treeview_mini"] = $steam->get_login_user()->get_attribute("bid:treeview_mini") == "on" ? true : false; $_SESSION["show_hidden"] = $steam->get_login_user()->get_attribute("bid:show_hidden") == "on" ? true : false; $_SESSION["language"] = $language_map_counter[$steam->get_login_user()->get_attribute(USER_LANGUAGE)]; //after save action and disconnect close window and update the opener if ($action && $action == "change") {
$sessionLoginFailureAction = "closeSubWindow"; require_once "{$config_doc_root}/includes/sessiondata.php"; require_once "../../includes/norm_post.php"; //****************************************************** //** Get Post data //****************************************************** $room_id = isset($_GET["forumobject"]) ? $_GET["forumobject"] : 0; $room_id = isset($_POST["forumobject"]) ? $_POST["forumobject"] : $room_id; $action = isset($_POST["mission"]) ? $_POST["mission"] : ""; $title = isset($_POST['title']) ? $_POST["title"] : ""; $subtitle = isset($_POST['subtitle']) ? $_POST["subtitle"] : ""; $description = isset($_POST['description']) ? $_POST['description'] : ""; //****************************************************** //** sTeam Server Connection //****************************************************** $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); $error = array(); if (!$steam || !$steam->get_login_status()) { $do_login = True; $error[] = "error_not_logged_in"; } else { /** log-in user */ $steamUser = $steam->get_login_user(); /** id of the log-in user */ $steamUserId = $steamUser == 0 ? 0 : $steamUser->get_id(); /** the current room */ $object = $room_id != 0 ? steam_factory::get_object($steam, $room_id) : $steamUser->get_workroom(); /** additional required attributes */ $attrib = $object->get_attributes(array(OBJ_NAME, OBJ_DESC, "bid:forum_subtitle", "bid:description"), 1); $allowed_write = $object->check_access_write($steamUser, 1); // flush the buffer
public function add_contact($contact_id) { $admin_steam = new steam_connector(STEAM_SERVER, STEAM_PORT, STEAM_ROOT_LOGIN, STEAM_ROOT_PW); $contact = steam_factory::get_object($admin_steam->get_id(), $contact_id, CLASS_USER); //The user you are sending a request to is immediatly your contact $this->add_confirmed_contact($contact_id, $admin_steam); //This user have to be confirmed befor he is a also a conntact //of the target user $contact->add_unconfirmed_contact($this->get_id(), $admin_steam); $admin_steam->disconnect(); }
/** *function get_steam_connector: * */ public function get_steam_connector() { return steam_connector::get_instance($this->steam_connectorID); }
/** * function decode_data * * @param $command * * @return */ function decode_data(&$command) { //echo "decode_data<br>"; $typ = $command[0]; switch ($typ) { case CMD_TYPE_INT: $newdata = $this->mybin2dec(substr($command, 1, 4)); $command = substr($command, 5); break; case CMD_TYPE_FLOAT: $tmp = unpack("f*", strrev(substr($command, 1, 4))); $newdata = $tmp[1]; $command = substr($command, 5); //echo $newdata . "<br />"; break; case CMD_TYPE_STRING: $length = (string) hexdec(bin2hex(substr($command, 1, 4))); $newdata = substr($command, 5, $length); $command = substr($command, 5 + $length); break; case CMD_TYPE_OBJECT: $newdata = steam_factory::get_object($this->steam_connectorID, hexdec(bin2hex(substr($command, 1, 4))), hexdec(bin2hex(substr($command, 5, 4)))); $command = substr($command, 9); break; case CMD_TYPE_ARRAY: $count = hexdec(bin2hex(substr($command, 1, 2))); $command = substr($command, 3); if ($count <= 0) { $newdata = array(); } else { for ($i = 0; $i < $count; $i++) { $value = $this->decode_data($command); $newdata[$i] = $value; } } //for($i = 0; $i < $count; $i++) break; case CMD_TYPE_MAPPING: $count = hexdec(bin2hex(substr($command, 1, 2))); $command = substr($command, 3); if ($count <= 0) { $newdata = array(); } else { for ($i = 0; $i < $count; $i++) { $key = $this->decode_data($command); $value = $this->decode_data($command); if (is_object($key)) { $newdata[$key->get_id()] = $value; } else { if (is_array($key)) { $newdata[] = $value; } else { $newdata[$key] = $value; } } } } //for($i = 0; $i < $count; $i++) break; case CMD_TYPE_PROGRAM: $newdata = "type program not yet implemented"; break; case CMD_TYPE_TIME: $newdata = (int) hexdec(bin2hex(substr($command, 1, 4))); $command = substr($command, 5); break; case CMD_TYPE_FUNCTION: $length = hexdec(bin2hex(substr($command, 1, 4))); $fname = substr($command, 13, $length - 8); $newdata = new steam_function($fname); $command = substr($command, 5 + $length); break; default: throw new steam_exception(steam_connector::get_instance($this->steam_connectorID)->get_login_user_name(), "COAL support in PHP not yet implemented for object type=" . $typ . " command=" . $command, 120); $newdata = "COAL support in PHP not yet implemented for object type=" . $typ . " command=" . $command; break; } //switch ($typ) return $newdata; }
/** * function create_user: * * Creates a new user and returns its activation code * * Please keep in mind, that you will need extended rights * to execute this function, that means a steam_connector * with an administrator login. * * Suggestion: Divide the registration and activation * process, if you want to be sure about the existence * of the user's e-mail-address; send the activation-code * via e-mail... * * Example for registration and activation: * <code> * $activation_code = steam_factory::create_user( * $steam_con, * "nbates", * "mother", * "*****@*****.**", * "Norman", * "Bates", * "english" * ); * if ( $activation_code ) * { * $new_user = steam_factory::username_to_object( "nbates" ); * $new_user->set_attributes( * array( * "country" => "United States", * "occupation" => "motel keeper" * ) * ); * if ( $new_user->activate( $activation_code ) ) * { * print( "Bates, you can login now!" ); * } * } * else * { * print( "Login name exists. Choose another one." ); * } * </code> * * @see steam_user->activate() * @param steam_connector $pSteamConnector connection to sTeam-server, for creating new users you will need extended rights * @param string $pLogin user's login name * @param string $pPassword user's password * @param string $pEMail user's email * @param string $pFullname user's surname * @param string $pFirstname user's firstname * @param string $pLanguage user's prefered language (optional) * @return string activation code; needed to activate this login */ public static function create_user($pSteamConnectorID, $pLogin, $pPassword, $pEMail, $pFullname, $pFirstname, $pLanguage = "english") { if (!is_string($pSteamConnectorID)) { throw new ParameterException("pSteamConnectorID", "string"); } $new_user = steam_factory::create_object($pSteamConnectorID, $pLogin, CLASS_USER, FALSE, array("name" => (string) $pLogin, "pw" => (string) $pPassword, "email" => (string) $pEMail, "fullname" => (string) $pFullname, "firstname" => (string) $pFirstname, "language" => (string) $pLanguage)); if ($new_user) { $factories = steam_connector::get_instance($pSteamConnectorID)->get_login_data()->get_arguments(); $user_factory = $factories[9][CLASS_USER]; $activation_code = steam_connector::get_instance($pSteamConnectorID)->predefined_command($user_factory, "get_activation", array(), 0); return $activation_code; } else { return FALSE; } }
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); }
//****************************************************** require_once "../../config/config.php"; require_once "{$steamapi_doc_root}/steam_connector.class.php"; require_once "{$config_doc_root}/classes/template.inc"; require_once "{$config_doc_root}/includes/sessiondata.php"; require_once "../../includes/norm_post.php"; //****************************************************** //** Get Post data //****************************************************** $object_id = isset($_GET["id"]) ? $_GET["id"] : 0; $object_id = isset($_POST["id"]) ? $_POST["id"] : $object_id; $action = isset($_POST["mission"]) ? $_POST["mission"] : ""; //****************************************************** //** sTeam Server Connection //****************************************************** $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); $error = array(); if (!$steam || !$steam->get_login_status()) { $do_login = True; $error[] = "error_not_logged_in"; } else { /** log-in user */ $steamUser = $steam->get_login_user(); /** id of the log-in user */ $steamUserId = $steamUser == 0 ? 0 : $steamUser->get_id(); /** name of the log-in user */ $steamUserName = $steamUser == 0 ? "" : $steamUser->get_name(); /** the current object */ $object = $object_id != 0 ? steam_factory::get_object($steam, $object_id) : NULL; /** the content of the message object */ $object_content = $object->get_content(1);
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); }