public function processData(\IRequestObject $requestObject) { $params = $requestObject->getParams(); if (isset($params) && isset($params[0])) { $this->user = \steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $params[0]); } if (!isset($this->user) || !$this->user instanceof \steam_user) { $this->user = \lms_steam::get_current_user(); } }
public function get_user_status_html($user_name) { $html = null; $user = steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $user_name); if (!$user->get_attribute("LLMS_NETWORKING_PROFILE") instanceof steam_object) { $html = "<i>noch nie angemeldet</i>"; } $sTeamServerDataAccess = new sTeamServerDataAccess(); if ($sTeamServerDataAccess->isLocked($user->get_id())) { if ($html == null) { $html = "<i>Benutzer gesperrt</i>"; } else { $html .= " und <i>Benutzer gesperrt</i>"; } } if ($sTeamServerDataAccess->isTrashed($user->get_id())) { if ($html == null) { $html = "<i>Benutzer gelöscht</i>"; } else { $html .= " und <i>Benutzer gelöscht</i>"; } } return $html; }
require_once "{$config_doc_root}/includes/derive_logoname.php"; //****************************************************** //** Precondition //****************************************************** $workroom_id = isset($_GET["workroom"]) ? $_GET["workroom"] : ""; $environment_id = isset($_GET["environment"]) ? $_GET["environment"] : ""; $sequence_first = isset($_GET["seq_first"]) ? $_GET["seq_first"] : ""; $sequence_prev = isset($_GET["seq_prev"]) ? $_GET["seq_prev"] : ""; $sequence_next = isset($_GET["seq_next"]) ? $_GET["seq_next"] : ""; $sequence_last = isset($_GET["seq_last"]) ? $_GET["seq_last"] : ""; $sequence = $sequence_first != "" ? $sequence_first + $sequence_prev + $sequence_next + $sequence_last : ""; //login und $steam def. in "./includes/login.php" $steam = new steam_connector($config_server_ip, $config_server_port, $login_name, $login_pwd); $current_object = steam_factory::get_object($steam, $_GET["object"]); $path = $current_object->get_path(); $user = steam_factory::get_user($steam, $login_name); $user_data = $user->get_attributes(array(USER_FIRSTNAME, USER_FULLNAME, "LARS_DESKTOP")); $attributes = $current_object->get_attributes(array(OBJ_NAME, OBJ_DESC, "OBJ_TYPE", "bid:collectiontype"), 1); $write_allowed = $current_object->check_access_write($user, 1); $result = $steam->buffer_flush(); $attributes = $result[$attributes]; $write_allowed = $result[$write_allowed]; $current_object_is_new_portal = strcmp($attributes["OBJ_TYPE"], "container_portal_bid") == 0; $current_object_is_gallery = $current_object instanceof steam_container && strcmp($attributes["bid:collectiontype"], "gallery") == 0; if ($user_data[USER_FIRSTNAME] !== 0 && $user_data[USER_FULLNAME] !== 0) { $username = $user_data[USER_FIRSTNAME] . ' ' . $user_data[USER_FULLNAME]; } else { $username = $login_name; } if ($user_data["LARS_DESKTOP"] !== 0) { $desktop = $user_data["LARS_DESKTOP"];
public function getCellData($cell, $contentItem) { if (!is_int($cell)) { throw new \Exception("cell must be an integer!!"); } if ($cell == $this->rawCheckbox) { return "<input style=\"margin-top:-4px\" type=\"checkbox\" onclick=\"event.stopPropagation(); if(this.checked) { jQuery('#{$contentItem->get_id()}').removeClass('listviewer-item-unhover').addClass('listviewer-item-selected') } else { jQuery('#{$contentItem->get_id()}').removeClass('listviewer-item-selected').addClass('listviewer-item-unhover') }\"></input>"; } else { if ($cell == $this->rawImage) { return "<img src=\"" . PATH_URL . "explorer/asset/icons/mimetype/" . deriveIcon($contentItem->get_link_object()) . "\"></img>"; } else { if ($cell == $this->rawName) { $url = \ExtensionMaster::getInstance()->getUrlForObjectId($contentItem->get_link_object()->get_id(), "view"); $desc = $contentItem->get_link_object()->get_attribute("OBJ_DESC"); if (!($desc === false || $desc === 0 || $desc === "")) { $name = $desc; } else { $name = str_replace("%20", " ", $contentItem->get_link_object()->get_name()); } if ($name == "Trashbin") { $name = "Papierkorb"; } if (isset($url) && $url != "") { return "<a href=\"" . $url . "\" title=\"{$desc}\"> " . $name . "</a>"; } else { return $name; } } else { if ($cell == $this->rawMarker) { $html = ""; if ($contentItem->get_link_object()->check_access_read(\steam_factory::get_user($GLOBALS["STEAM"]->get_id(), STEAM_GUEST_LOGIN)) || $contentItem->get_link_object()->check_access_read(\steam_factory::get_group($GLOBALS["STEAM"]->get_id(), "steam"))) { $html .= "<img onclick=\"event.stopPropagation(); this.src='" . PATH_URL . "bookmarks/asset/icons/star_inactive_16.png' \" style=\"cursor: pointer\" title=\"Öffentlich lesbar.\" src=\"" . PATH_URL . "explorer/asset/icons/public_16.png\"></img>"; } //$html .= "<img onclick=\"event.stopPropagation(); this.src='".PATH_URL."bookmarks/asset/icons/star_inactive_16.png' \" style=\"cursor: pointer\" title=\"Als Lesezeichen markiert.\" src=\"".PATH_URL."bookmarks/asset/icons/star_16.png\"></img>"; return $html; } else { if ($cell == $this->rawChangeDate) { return getReadableDate($contentItem->get_link_object()->get_attribute("OBJ_LAST_CHANGED")); } else { if ($cell == $this->rawSize) { if ($contentItem->get_link_object() instanceof \steam_document) { return getReadableSize($contentItem->get_link_object()->get_content_size()); } else { if ($contentItem->get_link_object() instanceof \steam_container) { try { $html = "<div style=\"color: #ccc\">" . count($contentItem->get_link_object()->get_inventory()) . " Objekte</div>"; } catch (\steam_exception $e) { $html = "keine Berechtigung"; } return $html; } } } else { if ($cell == $this->rawMenu) { $popupMenu = new \Widgets\PopupMenu(); $popupMenu->setData($contentItem); $popupMenu->setElementId("listviewer-overlay"); return $popupMenu; } } } } } } } }
<?php include_once "../../etc/koala.conf.php"; $portal = lms_portal::get_instance(); $portal->initialize(GUEST_NOT_ALLOWED); $user = lms_steam::get_current_user(); if (!lms_steam::is_koala_admin($user)) { header("location:/"); exit; } $mail_sum = 0; $user_count = 0; $users = $GLOBALS['STEAM']->predefined_command($GLOBALS['STEAM']->get_module('users'), 'index', array(), FALSE); foreach ($users as $user) { $user_count++; $steam_user = steam_factory::get_user($GLOBALS['STEAM']->get_id(), $user); $mail_sum += count($steam_user->get_annotations()); if ($user_count % 100 == 0) { echo ". user_count: " . $user_count . " mail_sum: " . $mail_sum . "<br />"; } else { echo "."; } flush(); } echo "<br> #User: "******" #Mail: " . $mail_sum; //$semesters_group = steam_factory::groupname_to_object( $GLOBALS[ "STEAM" ]->get_id(), "Courses"); //if ($semesters_group instanceof steam_group) { // echo "<h1>Prüfe alle Semester<h1>"; // // $semesters = $semesters_group->get_subgroups(); // foreach ($semesters as $semester) {
public function getRootUser() { $root = steam_factory::get_user($GLOBALS["STEAM"]->get_id(), "root"); return $root->get_id(); }
$icon_link = $member["OBJ_ICON"] == 0 ? PATH_STYLE . "images/anonymous.jpg" : PATH_URL . "cached/get_document.php?id=" . h($member["OBJ_ICON"]) . "&type=usericon&width=30&height=40"; $content->setVariable("CONTACT_IMAGE", $icon_link); $title = !empty($member["USER_ACADEMIC_TITLE"]) ? h($member["USER_ACADEMIC_TITLE"]) . " " : ""; $content->setVariable("CONTACT_NAME", $title . h($member["USER_FIRSTNAME"]) . " " . h($member["USER_FULLNAME"])); !COURSE_PARTICIPANTS_COMMUNICATION or $content->setVariable("LINK_SEND_MESSAGE", PATH_URL . "messages_write.php?to=" . h($member["OBJ_NAME"])); !COURSE_PARTICIPANTS_COMMUNICATION or $content->setVariable("LABEL_MESSAGE", gettext("Message")); !COURSE_PARTICIPANTS_COMMUNICATION or $content->setVariable("LABEL_SEND", gettext("Send")); !COURSE_PARTICIPANTS_FACULTY_AND_FOCUS or $content->setVariable("FACULTY_AND_FOCUS", h($member["USER_PROFILE_FACULTY"])); if (lms_steam::is_koala_admin($user) || !COURSE_KOALAADMIN_ONLY && $is_admin) { !COURSE_PARTICIPANTSLIST_MANAGE or $content->setVariable("TD_MANAGE_CONTACT", "<td align=\"center\"><input type=\"submit\" name=\"remove[" . h($member["OBJ_NAME"]) . "]\" value=\"" . gettext("Remove") . "\"/></td>"); } if (COURSE_PARTICIPANTS_EXTENSIONS) { $extensions = $group->get_extensions(); $result = ""; foreach ($extensions as $extension) { $result .= $extension->get_member_info(steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $member["OBJ_NAME"]), $group); } $content->setVariable("EXTENSIONS_DATA", $result); } $member_desc = empty($member["OBJ_DESC"]) ? "student" : $member["OBJ_DESC"]; $status = secure_gettext($member_desc); $content->setVariable("OBJ_DESC", h($status) . " " . ($i + 1)); $content->parse("BLOCK_CONTACT"); } $content->parse("BLOCK_CONTACT_LIST"); } else { $content->setVariable("LABEL_NO_MEMBERS", gettext("No members found.")); } } $html_handler_group->set_html_left($content->get()); $portal->set_page_main($html_handler_group->get_headline(), $html_handler_group->get_html(), "");
function clearexam() { $html_id = $_POST["html_id"]; $user_id = $_POST["user_id"]; $cid = $_POST["cid"]; $exam_id = $_POST["exam_id"]; $elearning_course = elearning_mediathek::get_elearning_course_by_id($cid); $user = steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $user_id); $el_user = elearning_user::get_instance($user->get_name(), elearning_mediathek::get_instance()->get_course()->get_id()); $el_user->reset_elearning_unit_user_data(); echo $html_id; }
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); }
foreach ($invent as $inven) { //Kopfzeie setzen if ($inven->get_attribute(HOMEWORK_TYPE) == "task") { $sheet->writeString(3, $col, gettext("Task") . ": " . $col, $format_table_header); $col++; } } $col = 1; $row = 5; $max_count = 0; $punkt_sum = 0; foreach ($members as $member) { $sheet->writeString($row, 0, $member["USER_FIRSTNAME"] . " " . $member["USER_FULLNAME"], $format_names); foreach ($invent as $inven) { if ($inven->get_attribute(HOMEWORK_TYPE) == "task") { $u = steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $member["OBJ_NAME"]); $solution = get_subitem($invent, $inven->get_id(), $u); $counter = 0; if (count($solution) > 0) { foreach ($solution as $solu) { $sol_point = $solu->get_attribute(HOMEWORK_POINTS); $sheet->writeString($row, $col, $sol_point, $format_cell); if (count($solution) > 1) { $row++; $counter++; } $punkt_sum += $sol_point; } if ($counter >= $max_count) { //max_count setzen f�r den Sprung zum n�chsten User mit richigem Abstand $max_count = $counter;
public static function get_certs($user_name) { $result = array(); $user = steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $user_name); $courses = lms_steam::user_get_booked_courses($user->get_id()); foreach ($courses as $course) { $unit = elearning_mediathek::get_elearning_unit($course["OBJ_ID"]); if ($unit === false) { continue; } $elearning_user = new elearning_user($user_name, $course["OBJ_ID"]); if ($elearning_user->has_exam_cert()) { $result[] = $elearning_user->get_exam_cert(); } } return $result; }
$user_id = isset($_GET["user"]) ? $_GET["user"] : (isset($_POST["user"]) ? $_POST["user"] : 0); $group_id = isset($_GET["group"]) ? $_GET["group"] : (isset($_POST["group"]) ? $_POST["group"] : 0); //****************************************************** //** 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; } if ($login_name == "guest") { print "Visitenkarten können nur von angemeldeten Benutzern eingesehen werden."; return; } if ($user_id !== 0) { $user = steam_factory::get_user($steam, $user_id); $user_data = $user->get_attributes(array(OBJ_NAME, OBJ_DESC, USER_FIRSTNAME, USER_FULLNAME, USER_EMAIL, USER_ADRESS, OBJ_ICON, "bid:user_callto", "bid:user_im_adress", "bid:user_im_protocol")); // $user_email_forwarding = $user->get_email_forwarding(); } else { if ($group_id !== 0) { $group = steam_factory::get_group($steam, $group_id); $group_data = $group->get_attributes(array(OBJ_NAME, OBJ_DESC)); } } $user_favourites = $steam->get_login_user()->get_buddies(); if ($action == "save") { if (count($user_favourites) == 0) { $user_favourites = array(); } if ($user_id !== 0) { array_push($user_favourites, $user);
case "staff member": $adminDescription = gettext("staff member"); break; case "alumni": $adminDescription = gettext("alumni"); break; case "guest": $adminDescription = gettext("guest"); break; case "": $adminDescription = gettext("student"); break; default: break; } if (COURSE_START_SEND_MESSAGE && (!COURSE_SHOW_ONLY_EXTERN_MAIL || COURSE_SHOW_ONLY_EXTERN_MAIL && is_string(steam_factory::get_user($GLOBALS['STEAM']->get_id(), $admin_attributes["OBJ_NAME"])->get_attribute("USER_EMAIL")) && steam_factory::get_user($GLOBALS['STEAM']->get_id(), $admin_attributes["OBJ_NAME"])->get_attribute("USER_EMAIL") != "" && steam_factory::get_user($GLOBALS['STEAM']->get_id(), $admin_attributes["OBJ_NAME"])->get_attribute("USER_FORWARD_MSG") === 1)) { $adminDescription = $adminDescription . " - <a href=\"/messages_write.php?to=" . $admin->get_name() . "\">" . gettext("Nachricht senden") . "</a>"; } $content->setVariable("ADMIN_DESC", $adminDescription); if (COURSE_START_ADMIN_PROFILE_ANKER) { $content->parse("PROFILE_ANKER"); } else { $content->parse("PROFILE_NO_ANKER"); } $content->parse("BLOCK_ADMIN"); $visible_staff++; } } if ($visible_staff > 0) { $content->setCurrentBlock("BLOCK_ADMIN_HEADER"); $content->setVariable("LABEL_ADMINS", gettext("Staff members"));
public function frameResponse(\FrameResponseObject $frameResponseObject) { $path = $this->params; $user = \lms_steam::get_current_user(); $public = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), STEAM_PUBLIC_GROUP, CLASS_GROUP); $id = $path[0]; $portal = \lms_portal::get_instance(); $portal_user = $portal->get_user(); try { $steam_group = !empty($id) ? \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $id) : FALSE; } catch (\Exception $ex) { include "bad_link.php"; exit; } $group_is_private = FALSE; if ($steam_group && is_object($steam_group)) { switch ((string) $steam_group->get_attribute("OBJ_TYPE")) { case "course": $group = new \koala_group_course($steam_group); // TODO: Passt der backlink? $backlink = PATH_URL . SEMESTER_URL . "/" . $group->get_semester()->get_name() . "/" . h($group->get_name()) . "/"; break; default: $group = new \koala_group_default($steam_group); // TODO: Passt der backlink? $backlink = PATH_URL . "groups/" . $group->get_id() . "/"; // Determine if group is public or private $parent = $group->get_parent_group(); if ($parent->get_id() == STEAM_PRIVATE_GROUP) { $group_is_private = TRUE; } break; } } if ($group_is_private) { if (!$steam_group->is_member($user) && !\lms_steam::is_koala_admin($user)) { throw new \Exception(gettext("You have no rights to access this group"), E_USER_RIGHTS); } } if (!$group instanceof \koala_group) { throw new \Exception("Variable group not set."); } if (COURSE_PARTICIPANTS_STAFF_ONLY && !$group->is_admin($user)) { header("location:../"); exit; } if ($_SERVER["REQUEST_METHOD"] == "POST") { if (is_array($_POST["remove"])) { $id = key($_POST["remove"]); $member_to_kick = \steam_factory::username_to_object($GLOBALS["STEAM"]->get_id(), $id); $group->remove_member($member_to_kick); $portal->set_confirmation(str_replace("%NAME", h($member_to_kick->get_attribute("USER_FIRSTNAME")) . " " . h($member_to_kick->get_attribute("USER_FULLNAME")), gettext("User %NAME successfully removed from group members."))); // clear caches: $cache = get_cache_function($member_to_kick->get_name()); $cache->drop("lms_steam::user_get_groups", $member_to_kick->get_name(), TRUE); $cache->drop("lms_steam::user_get_groups", $member_to_kick->get_name(), FALSE); $cache->drop("lms_steam::user_get_profile", $member_to_kick->get_name()); $cache->drop("lms_portal::get_menu_html", $member_to_kick->get_name(), TRUE); $cache = get_cache_function($group->get_id()); $cache->drop("lms_steam::group_get_members", $group->get_id()); } } $cache = get_cache_function($group->get_id(), CACHE_LIFETIME_STATIC); switch (get_class($group)) { case "koala_group_course": $html_handler_group = new \koala_html_course($group); $html_handler_group->set_context("members"); $members = $cache->call("lms_steam::group_get_members", $group->steam_group_learners->get_id()); break; default: $html_handler_group = new \koala_html_group($group); $html_handler_group->set_context("members"); $members = $cache->call("lms_steam::group_get_members", $group->get_id()); break; } $is_admin = $group->is_admin($user); $content = \Group::getInstance()->loadTemplate("list_users.template.html"); $is_member = $group->is_member($user); //echo "is_member? " . $is_member; $privacy_deny_participants = $group->get_attribute("GROUP_PRIVACY"); //echo "attribute: ''" . $privacy_deny_participants . "''"; if ($privacy_deny_participants == PERMISSION_GROUP_PRIVACY_DENY_PARTICIPANTS && !$is_member) { //echo "*** deny ***"; //TODO $content->setVariable("LABEL_PRIVACY_DENY_PARTICIPANTS", gettext("Participants are hidden.")); } else { //echo "*** permit ***"; $no_members = count($members); if ($no_members > 0) { switch (get_class($group)) { case "koala_group_course": $groupname = $group->get_course_id(); break; default: $groupname = $group->get_name(); break; } if (!USER_LIST_NO_PAGEING) { $paginator = \lms_portal::get_paginator(10, $no_members, "(" . str_replace("%NAME", h($groupname), gettext("%TOTAL members in %NAME")) . ")"); $start = $paginator["startIndex"]; $end = $start + 10 > $no_members ? $no_members : $start + 10; $content->setVariable("PAGINATOR", $paginator["html"]); $content->setVariable("LABEL_CONTACTS", gettext("Members") . " (" . str_replace(array("%a", "%z", "%s"), array($start + 1, $end, $no_members), gettext("%a-%z out of %s")) . ")"); } else { //if (count($members) > 10) { $content->setVariable("LABEL_CONTACTS", gettext("Members") . " (Anzahl " . count($members) . ")"); $content->setCurrentBlock("BLOCK_FILTER"); $content->setVariable("HELP_TEXT", "Benutzer lassen sich einfacher finden, indem Sie den Filter verwenden. Tippen Sie einfach einen Teil des Benutzernamen oder der Benutzerkennung in das Textfeld."); $content->setVariable('LABEL_FILTER', "<b>" . gettext('Filter') . "</b>"); $start = 0; $end = count($members); if (COURSE_PARTICIPANTS_EXTENSIONS) { $extensions = $group->get_extensions(); $html = ""; foreach ($extensions as $extension) { $html .= $extension->get_filter_html($portal, "filter_user", "extension_data"); } $content->setCurrentBlock("BLOCK_EXTENSION_FILTER"); $content->setVariable("EXTENSION_FILTER", $html); $content->parse("BLOCK_EXTENSION_FILTER"); } $content->parse("BLOCK_FILTER"); //} } $content->setCurrentBlock("BLOCK_CONTACT_LIST"); $content->setVariable("LABEL_NAME_POSITION", gettext("Name, position")); !COURSE_PARTICIPANTS_FACULTY_AND_FOCUS or $content->setVariable("LABEL_SUBJECT_AREA", gettext("Origin/Focus")); !COURSE_PARTICIPANTS_COMMUNICATION or $content->setVariable("LABEL_COMMUNICATION", gettext("Communication")); if (\lms_steam::is_koala_admin($user) || !COURSE_KOALAADMIN_ONLY && $is_admin) { !COURSE_PARTICIPANTSLIST_MANAGE or $content->setVariable("TH_MANAGE_CONTACT", gettext("Action")); } !COURSE_PARTICIPANTS_EXTENSIONS or $content->setVariable("TH_MANAGE_EXTENSIONS", "Status"); $content->setVariable("BEGIN_HTML_FORM", "<form method=\"POST\" action=\"\">"); $content->setVariable("END_HTML_FORM", "</form>"); for ($i = $start; $i < $end; $i++) { $member = $members[$i]; if ($member["USER_TRASHED"] === 1) { continue; } $content->setCurrentBlock("BLOCK_CONTACT"); $content->setVariable("CONTACT_LINK", PATH_URL . "user/" . h($member["OBJ_NAME"]) . "/"); // TODO: Passt der link? $icon_link = $member["OBJ_ICON"] == 0 ? PATH_STYLE . "images/anonymous.jpg" : PATH_URL . "cached/get_document.php?id=" . h($member["OBJ_ICON"]) . "&type=usericon&width=30&height=40"; $content->setVariable("CONTACT_IMAGE", $icon_link); $title = !empty($member["USER_ACADEMIC_TITLE"]) ? h($member["USER_ACADEMIC_TITLE"]) . " " : ""; $content->setVariable("CONTACT_NAME", $title . h($member["USER_FIRSTNAME"]) . " " . h($member["USER_FULLNAME"])); !COURSE_PARTICIPANTS_COMMUNICATION or $content->setVariable("LINK_SEND_MESSAGE", PATH_URL . "messages_write.php?to=" . h($member["OBJ_NAME"])); !COURSE_PARTICIPANTS_COMMUNICATION or $content->setVariable("LABEL_MESSAGE", gettext("Message")); !COURSE_PARTICIPANTS_COMMUNICATION or $content->setVariable("LABEL_SEND", gettext("Send")); !COURSE_PARTICIPANTS_FACULTY_AND_FOCUS or $content->setVariable("FACULTY_AND_FOCUS", h($member["USER_PROFILE_FACULTY"])); if (\lms_steam::is_koala_admin($user) || !COURSE_KOALAADMIN_ONLY && $is_admin) { !COURSE_PARTICIPANTSLIST_MANAGE or $content->setVariable("TD_MANAGE_CONTACT", "<td align=\"center\"><input type=\"submit\" name=\"remove[" . h($member["OBJ_NAME"]) . "]\" value=\"" . gettext("Remove") . "\"/></td>"); } if (COURSE_PARTICIPANTS_EXTENSIONS) { $extensions = $group->get_extensions(); $result = ""; foreach ($extensions as $extension) { $result .= $extension->get_member_info(\steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $member["OBJ_NAME"]), $group); } $content->setVariable("EXTENSIONS_DATA", $result); } $member_desc = empty($member["OBJ_DESC"]) ? "student" : $member["OBJ_DESC"]; $status = secure_gettext($member_desc); $content->setVariable("OBJ_DESC", h($status) . " " . ($i + 1)); $content->parse("BLOCK_CONTACT"); } $content->parse("BLOCK_CONTACT_LIST"); } else { $content->setVariable("LABEL_NO_MEMBERS", gettext("No members found.")); } } $html_handler_group->set_html_left($content->get()); $frameResponseObject->setTitle("Group"); $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html_handler_group->get_html()); $frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function execute(\FrameResponseObject $frameResponseObject) { //$portal = \lms_portal::get_instance(); //$portal->initialize( GUEST_NOT_ALLOWED ); //$portal->set_guest_allowed( GUEST_NOT_ALLOWED ); $user = \lms_steam::get_current_user(); //$portal_user = $portal->get_user(); //$path = $request->getPath(); $scg = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), STEAM_COURSES_GROUP, CLASS_GROUP); $current_semester = \steam_factory::groupname_to_object($GLOBALS["STEAM"]->get_id(), $scg->get_groupname() . "." . STEAM_CURRENT_SEMESTER); //$current_semester = $path[3]; //Vorher $group_course = \steam_factory::groupname_to_object($GLOBALS["STEAM"]->get_id(), "Courses." . $this->params[0] . "." . $this->params[1]); $course = new \koala_group_course($group_course); $html_handler_course = new \koala_html_course($course); $html_handler_course->set_context("start"); $content = \Course::getInstance()->loadTemplate("courses_start.template.html"); //$content = new HTML_TEMPLATE_IT(); //$content->loadTemplateFile( PATH_TEMPLATES . "courses_start.template.html" ); $content->setVariable("LABEL_DESCRIPTION", gettext("Description")); // Pre-load Course Attributes $course->get_steam_object()->get_attributes(array("COURSE_SHORT_DSC", OBJ_DESC, "COURSE_LONG_DSC")); $desc = $course->get_attribute("COURSE_SHORT_DSC"); if (empty($desc)) { $content->setVariable("OBJ_DESC", gettext("No description available.")); } else { $content->setVariable("OBJ_DESC", get_formatted_output($desc)); } $about = $course->get_attribute("COURSE_LONG_DSC"); if (!empty($about)) { $content->setCurrentBlock("BLOCK_ABOUT"); $content->setVariable("LABEL_ABOUT", gettext("About")); $content->setVariable("VALUE_ABOUT", get_formatted_output($about)); $content->parse("BLOCK_ABOUT"); } if (COURSE_SHOW_MAXSIZE) { if ($course->get_maxsize() > 0) { $content->setCurrentBlock("BLOCK_GROUPSIZE"); $content->setVariable("LABEL_MAXSIZE_HEADER", gettext("The number of participants of this course is limited.")); $content->setVariable("LABEL_MAXSIZE_DESCRIPTION", str_replace("%MAX", $course->get_maxsize(), str_replace("%ACTUAL", $course->count_members(), gettext("The actual participant count is %ACTUAL of %MAX.")))); $content->parse("BLOCK_GROUPSIZE"); } } $admins = $course->get_staff(); $hidden_members = $course->get_steam_group()->get_attribute("COURSE_HIDDEN_STAFF"); if (!is_array($hidden_members)) { $hidden_members = array(); } $visible_staff = 0; foreach ($admins as $admin) { if (!in_array($admin->get_id(), $hidden_members)) { $content->setCurrentBlock("BLOCK_ADMIN"); if (COURSE_START_ADMIN_PROFILE_ANKER) { $content->setCurrentBlock("PROFILE_ANKER"); } else { $content->setCurrentBlock("PROFILE_NO_ANKER"); } $admin_attributes = $admin->get_attributes(array("USER_FIRSTNAME", "USER_FULLNAME", "OBJ_ICON", "OBJ_DESC", "OBJ_NAME")); if ($admin instanceof \steam_user) { $content->setVariable("ADMIN_NAME", $admin_attributes["USER_FIRSTNAME"] . " " . $admin_attributes["USER_FULLNAME"]); !COURSE_START_ADMIN_PROFILE_ANKER or $content->setVariable("ADMIN_LINK", PATH_URL . "user/" . $admin->get_name() . "/"); } else { $content->setVariable("ADMIN_NAME", $admin_attributes["OBJ_NAME"]); !COURSE_START_ADMIN_PROFILE_ANKER or $content->setVariable("ADMIN_LINK", PATH_URL . "groups/" . $admin->get_id() . "/"); } $icon_link = is_object($admin_attributes["OBJ_ICON"]) ? PATH_URL . "download/image/" . $admin_attributes["OBJ_ICON"]->get_id() . "/40/47" : PATH_STYLE . "images/anonymous.jpg"; $content->setVariable("ADMIN_ICON", $icon_link); $adminDescription = h($admin_attributes["OBJ_DESC"]); switch ($adminDescription) { case "student": $adminDescription = gettext("student"); break; case "staff member": $adminDescription = gettext("staff member"); break; case "alumni": $adminDescription = gettext("alumni"); break; case "guest": $adminDescription = gettext("guest"); break; case "": $adminDescription = gettext("student"); break; default: break; } if (COURSE_START_SEND_MESSAGE && (!COURSE_SHOW_ONLY_EXTERN_MAIL || COURSE_SHOW_ONLY_EXTERN_MAIL && is_string(steam_factory::get_user($GLOBALS['STEAM']->get_id(), $admin_attributes["OBJ_NAME"])->get_attribute("USER_EMAIL")) && steam_factory::get_user($GLOBALS['STEAM']->get_id(), $admin_attributes["OBJ_NAME"])->get_attribute("USER_EMAIL") != "" && steam_factory::get_user($GLOBALS['STEAM']->get_id(), $admin_attributes["OBJ_NAME"])->get_attribute("USER_FORWARD_MSG") === 1)) { $adminDescription = $adminDescription . " - <a href=\"/messages_write.php?to=" . $admin->get_name() . "\">" . gettext("Nachricht senden") . "</a>"; } $content->setVariable("ADMIN_DESC", $adminDescription); if (COURSE_START_ADMIN_PROFILE_ANKER) { $content->parse("PROFILE_ANKER"); } else { $content->parse("PROFILE_NO_ANKER"); } $content->parse("BLOCK_ADMIN"); $visible_staff++; } } if ($visible_staff > 0) { $content->setCurrentBlock("BLOCK_ADMIN_HEADER"); $content->setVariable("LABEL_ADMINS", gettext("Staff members")); $content->parse("BLOCK_ADMIN_HEADER"); } $html_handler_course->set_html_left($content->get()); $frameResponseObject->setHeadline($html_handler_course->get_headline()); $widget = new \Widgets\RawHtml(); $widget->setHtml($html_handler_course->get_html()); $frameResponseObject->addWidget($widget); //$portal->set_page_main( $html_handler_course->get_headline(), $html_handler_course->get_html() , "" ); return $frameResponseObject; }
public function processData(\IRequestObject $requestObject) { $objectId = $requestObject->getId(); $portlet = $portletObject = \steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $objectId); $portletName = $portlet->get_attribute(OBJ_DESC); //icon $referIcon = \Portal::getInstance()->getAssetUrl() . "icons/refer_white.png"; //reference handling $params = $requestObject->getParams(); if (isset($params["referenced"]) && $params["referenced"] == true) { $portletIsReference = true; $referenceId = $params["referenceId"]; } else { $portletIsReference = false; } $this->getExtension()->addCSS(); $this->getExtension()->addJS(); $htmlBody = ""; //hack include_once PATH_BASE . "koala-core/lib/bid/slashes.php"; //get content of portlet $content = $portlet->get_attribute("bid:portlet:content"); if (is_array($content) && count($content) > 0) { array_walk($content, "_stripslashes"); } else { $content = array(); } //get singleton and portlet path $portletInstance = \PortletTermplan::getInstance(); $portletPath = $portletInstance->getExtensionPath(); //create template $portletFileName = $portletPath . "/ui/html/index.html"; $tmpl = new \HTML_TEMPLATE_IT(); $tmpl->loadTemplateFile($portletFileName); if (sizeof($content) > 0) { //popupmenu if (!$portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("PortletTermplan"); $popupmenu->setElementId("portal-overlay"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } if ($portletIsReference && $portlet->check_access_write($GLOBALS["STEAM"]->get_current_steam_user())) { $popupmenu = new \Widgets\PopupMenu(); $popupmenu->setData($portlet); $popupmenu->setNamespace("Portal"); $popupmenu->setElementId("portal-overlay"); $popupmenu->setParams(array(array("key" => "sourceObjectId", "value" => $portlet->get_id()), array("key" => "linkObjectId", "value" => $referenceId))); $popupmenu->setCommand("PortletGetPopupMenuReference"); $tmpl->setVariable("POPUPMENU", $popupmenu->getHtml()); } $startDate = $content["start_date"]; $endDate = $content["end_date"]; if (time() > mktime(0, 0, 0, $startDate["month"], $startDate["day"], $startDate["year"]) && time() < mktime(24, 0, 0, $endDate["month"], $endDate["day"], $endDate["year"])) { $pollActive = true; } else { $pollActive = false; } $options = $content["options"]; $optionsVotecount = $content["options_votecount"]; $max_votecount = 1; foreach ($optionsVotecount as $option_votecount) { if ($option_votecount > $max_votecount) { $max_votecount = $option_votecount; } } $tmpl->setVariable("POLL_NAME", $portletName); //refernce icon if ($portletIsReference) { $tmpl->setVariable("REFERENCE_ICON", "<img src='{$referIcon}'>"); } $tmpl->setVariable("POLL_TOPIC", $content["poll_topic"]); //advanced result //decode content mapping $encodedVoteUserMapping = $portlet->get_attribute("termChoices"); if ($encodedVoteUserMapping == "0") { $mapping = array(); } else { $mapping = json_decode($encodedVoteUserMapping, true); } $currentUser = $GLOBALS["STEAM"]->get_current_steam_user(); $currentUserName = $currentUser->get_full_name(); $currentUserLogin = $currentUser->get_name(); //fehler //create table $userTimeTable = "<br/><table border='0' style='margin:auto;border-color:#C0C0C0;width:98%'>"; //headline $userTimeTable .= "<tr>"; $userTimeTable .= "<th style='background-color:#E0E0E0;'>Name</th>"; $optionsCount = 0; foreach ($options as $option) { if ($option != "") { //show $optionsCount++; $optionText = $this->termplanCutItemLenght($option); $userTimeTable .= "<th style='background-color:#E0E0E0;'>{$optionText}</th>"; } } $userTimeTable .= "</tr>"; $userVoteArray = array(); foreach ($mapping as $username => $encodedTermChoices) { @($voteUserArray = explode("#", $voteXuser)); //TODO $votes = explode(":", substr($encodedTermChoices, 12)); $user = $username; foreach ($votes as $vote) { if (isset($userVoteArray[$user][$vote]) && $userVoteArray[$user][$vote] == "X") { //hier den umschalter $userVoteArray[$user][$vote] = "N"; } else { $userVoteArray[$user][$vote] = "X"; } } } //initialize votecount $voteCount = array(); $voteCount[0] = 0; $voteCount[1] = 0; $voteCount[2] = 0; $voteCount[3] = 0; $voteCount[4] = 0; $voteCount[5] = 0; if (!("guest" == $GLOBALS["STEAM"]->get_current_steam_user()->get_name())) { //its not allowed for guest to vote //create first line for current user $userTimeTable .= "<tr>"; $userTimeTable .= "<td style='font-weight: bold;'>{$currentUserName}</td>"; if (isset($userVoteArray[$currentUserLogin])) { $votingForCurrentUser = $userVoteArray[$currentUserLogin]; } else { $votingForCurrentUser = array(); } $backGroundGreen = "#99EE99"; for ($i = 0; $i < $optionsCount; $i++) { //$userTimeTable.= "<td>"; $portletId = $portlet->get_id(); if (isset($votingForCurrentUser[$i]) && $votingForCurrentUser[$i] == "X") { if (!$pollActive) { $userTimeTable .= "<td style='background-color:{$backGroundGreen};'>"; } if ($pollActive) { $userTimeTable .= "<td style='background-color:{$backGroundGreen};'>"; } $voteCommand = 'sendRequest("VoteTerm", {"portletObjectId": "' . $objectId . '", "termId": "' . $i . '"}, "", "popup", "","", "PortletTermplan");return false;'; if ($pollActive) { $userTimeTable .= "<input onclick='{$voteCommand};' type='checkbox' name='termitem' value='{$i}' checked='checked'>"; } if (!$pollActive) { $userTimeTable .= "X"; } $voteCount[$i]++; $userTimeTable .= "</td>"; } else { $userTimeTable .= "<td>"; $voteCommand = 'sendRequest("VoteTerm", {"portletObjectId": "' . $objectId . '", "termId": "' . $i . '"}, "", "popup", "","", "PortletTermplan");return false;'; if ($pollActive) { $userTimeTable .= "<input onclick='{$voteCommand};' type='checkbox' name='termitem' value='{$i}'>"; } if (!$pollActive) { $userTimeTable .= ""; } $userTimeTable .= "</td>"; } } $userTimeTable .= "</tr>"; } //sort the users //$userVoteArray $sortedNames = array(); foreach ($userVoteArray as $login => $userElement) { $userObject = \steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $login); $userRealName = $userObject->get_full_name(); $sortedNames[$login] = $userRealName; } asort($sortedNames, SORT_STRING); //resorting the other array foreach ($sortedNames as $userName => $realName) { $sortedNames[$userName] = $userVoteArray[$userName]; } $userVoteArraySorted = $sortedNames; //table for other users foreach ($userVoteArraySorted as $user => $userElement) { if ($user == $currentUserLogin) { continue; } //create row $userTimeTable .= "<tr>"; $userObject = \steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $user); $realName = $userObject->get_full_name(); //create other users if ($currentUserName == $realName) { //DO NOTHING } else { $userTimeTable .= "<td>{$realName}</td>"; } for ($i = 0; $i < $optionsCount; $i++) { //create field if (isset($userElement[$i]) && $userElement[$i] == "X") { if ($currentUserName == $realName) { $userTimeTable .= "<td></td>"; //DO NOTHING } else { $userTimeTable .= "<td style='background-color:{$backGroundGreen};'>X</td>"; } $voteCount[$i]++; } else { $userTimeTable .= "<td></td>"; if ($currentUserName == $realName) { //DO NOTHING } } } $userTimeTable .= "</tr>"; } //count and show results $userTimeTable .= "<tr>"; $userTimeTable .= "<td>Summe</td>"; $portletId = $portlet->get_id(); for ($i = 0; $i < $optionsCount; $i++) { $userTimeTable .= "<td id='" . $portletId . "TermSum{$i}'>{$voteCount[$i]}</td>"; } $userTimeTable .= "</tr>"; $userTimeTable .= "</table>"; //table created $tmpl->setVariable("USER_VOTE_TABLE", $userTimeTable); $htmlBody = $tmpl->get(); //widgets $outputWidget = new \Widgets\RawHtml(); $outputWidget->setHtml($htmlBody); $this->rawHtmlWidget = $outputWidget; } }
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); }
$group_staff = $owner->get_group_staff(); } if (!isset($group_admins)) { $group_admins = $owner->get_group_admins(); } if (!isset($group_learners)) { $group_learners = $owner->get_group_learners(); } if (empty($_FILES)) { $problems = gettext("Could not upload document.") . " "; $hints = str_replace(array("%SIZE", "%TIME"), array(readable_filesize($max_file_size), (string) ini_get('max_execution_time')), gettext("Maybe your document exceeded the allowed file size (max. %SIZE) or the upload might have taken too long (max. %TIME seconds).")) . " "; } //teste ob angegebene Mitwirkende auch im Kurs sind und ob es sie gibt foreach ($participant as $pati) { if (isset($pati) && !empty($pati)) { $u = steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $pati); if (is_object($u) && $group_learners->is_member($u) && $u instanceof steam_user) { $partici[] = $u; } else { $problems .= gettext("Can not find User: "******"<br>"; } } } //�berpr�fen ob die Abgegeben Datei ein PDF ist $path_part = pathinfo($_FILES["user_upload"]["name"]); if ($path_part["extension"] != "pdf") { $problems = gettext("file-type not allowed") . " (" . $path_part["extension"] . ")"; $hints = gettext("Please choose a pdf-document") . " "; } if (!empty($_FILES["user_upload"]["error"]) && $_FILES["user_upload"]["error"] > 0) { $problems = gettext("No file chosen.") . " ";
public function execute(\FrameResponseObject $frameResponseObject) { $current_user = \lms_steam::get_current_user(); $login = $current_user->get_name(); //$path = $request->getPath(); if (isset($this->id)) { $userName = $this->id; $user = \steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $userName); } else { $user = $current_user; } //$portal=\lms_portal::get_instance(); $cache = get_cache_function($login, 86400); // $portal->set_page_title( $login ); $html_handler_profile = new \koala_html_profile($user); $html_handler_profile->set_context("groups"); $content = \Profile::getInstance()->loadTemplate("list_groups.template.html"); //$content = new HTML_TEMPLATE_IT(); //$content->loadTemplateFile( PATH_TEMPLATES . "list_groups.template.html" ); if ($this->viewer_authorized($current_user, $user)) { $public = $user->get_id() != $current_user->get_id() ? TRUE : FALSE; $groups = $cache->call("lms_steam::user_get_groups", $login, $public); usort($groups, "sort_objects"); $no_groups = count($groups); if ($no_groups > 0) { $content->setCurrentBlock("BLOCK_GROUP_LIST"); $pageIterator = \lms_portal::get_paginator(10, $no_groups, "(" . gettext("%TOTAL groups in list") . ")"); $content->setVariable("PAGEITERATOR", $pageIterator["html"]); $start = $pageIterator["startIndex"]; $end = $start + 10 > $no_groups ? $no_groups : $start + 10; if ($current_user->get_id() == $user->get_id()) { $content->setVariable("LABEL_GROUPS", gettext("Your groups") . " (" . str_replace(array("%a", "%z", "%s"), array($start + 1, $end, $no_groups), gettext("%a-%z out of %s")) . ")"); } else { $content->setVariable("LABEL_GROUPS", str_replace("%NAME", $user->get_attribute("USER_FIRSTNAME") . " " . $user->get_attribute("USER_FULLNAME"), gettext("%NAME's groups")) . " (" . str_replace(array("%a", "%z", "%s"), array($start + 1, $end, $no_groups), gettext("%a-%z out of %s")) . ")"); } // GROUPS $content->setVariable("LABEL_NAME_DESCRIPTION", gettext("Name, description")); $content->setVariable("LABEL_MEMBERS", gettext("Members list")); $content->setVariable("LABEL_COMMUNICATION", gettext("Communication")); if ($user->get_id() == $current_user->get_id()) { $content->setVariable("TH_MANAGE_GROUP", gettext("Manage membership")); } for ($i = $start; $i < $end; $i++) { $group = $groups[$i]; $content->setCurrentBlock("BLOCK_GROUP"); $content->setVariable("GROUP_LINK", PATH_URL . "groups/" . $group["OBJ_ID"] . "/"); $content->setVariable("GROUP_NAME", h($group["OBJ_NAME"])); $content->setVariable("MEMBER_LINK", PATH_URL . "groups/" . $group["OBJ_ID"] . "/members/"); $content->setVariable("GROUP_MEMBERS", h($group["GROUP_NO_MEMBERS"])); $content->setVariable("LINK_SEND_MESSAGE", PATH_URL . "messages_write.php?group=" . $group["OBJ_ID"]); $content->setVariable("LABEL_MESSAGE", gettext("Message")); $content->setVariable("LABEL_SEND", gettext("Send")); if ($user->get_id() == $current_user->get_id()) { $content->setVariable("TD_MANAGE_GROUP", "<a href=\"" . PATH_URL . "group_cancel.php?group=" . $group["OBJ_ID"] . "\">" . gettext("Resign") . "</a>"); } $content->setVariable("OBJ_DESC", h($group["OBJ_DESC"])); $content->parse("BLOCK_GROUP"); } $content->parse("BLOCK_GROUP_LIST"); } else { $content->setVariable("LABEL_GROUPS", gettext("No memberships found.")); } } else { $messagebox = "<div class=\"infoBar\"><h2>" . gettext("The user has restricted the display of this information.") . "</h2></div>"; $content->setVariable("LABEL_PRIVACY_DENY_PARTICIPANTS", $messagebox); } $frameResponseObject->setHeadline($html_handler_profile->get_headline()); $html_handler_profile->set_html_left($content->get()); $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html_handler_profile->get_html()); $frameResponseObject->addWidget($rawHtml); return $frameResponseObject; //$portal->set_page_main( $html_handler_profile->get_headline(), $html_handler_profile->get_html()); //return $portal->get_html(); }
public function execute(\FrameResponseObject $frameResponseObject) { //var_dump($request); $current_user = \lms_steam::get_current_user(); //var_dump($current_user);die; $name = $this->id; if ($name != "") { //$userName = $path[2]; $user = \steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $name); } else { $user = $current_user; } $login = $user->get_name(); $cache = get_cache_function($login, 3600); //$portal = \lms_portal::get_instance(); //$portal->set_page_title( $login ); $user_profile = $cache->call("lms_steam::user_get_profile", $login); $html_handler_profile = new \koala_html_profile($user); $html_handler_profile->set_context("profile"); $GLOBALS["content"] = \Profile::getInstance()->loadTemplate("profile_display.template.html"); //$content = new HTML_TEMPLATE_IT(); //$content->loadTemplateFile( PATH_TEMPLATES . "profile_display.template.html" ); if (!empty($user_profile["USER_PROFILE_DSC"])) { $GLOBALS["content"]->setVariable("HTML_CODE_DESCRIPTION", "<p>" . get_formatted_output($user_profile["USER_PROFILE_DSC"]) . "</p>"); } if (!empty($user_profile["USER_PROFILE_WEBSITE_URI"])) { $website_name = h(empty($user_profile["USER_PROFILE_WEBSITE_NAME"]) ? $user_profile["USER_PROFILE_WEBSITE_URI"] : $user_profile["USER_PROFILE_WEBSITE_NAME"]); $GLOBALS["content"]->setVariable("HTML_CODE_PERSONAL_WEBSITE", "<br/><b>" . gettext("Website") . ":</b> <a href=\"" . h($user_profile["USER_PROFILE_WEBSITE_URI"]) . "\" target=\"_blank\">{$website_name}</a>"); } //get Buddys from user and put them into the $globals-Array for authorization-query $confirmed = $user->get_id() != $current_user->get_id() ? TRUE : FALSE; $contacts = $cache->call("lms_steam::user_get_buddies", $login, $confirmed); $tmp = array(); foreach ($contacts as $contact) { $tmp[] = $contact["OBJ_ID"]; } $GLOBALS["contact_ids"] = $tmp; //get Viewer-Authorization and put them into the $globals-Array for authorization-query $user_privacy = $cache->call("lms_steam::user_get_profile_privacy", $user->get_name()); $GLOBALS["authorizations"] = $user_privacy; $GLOBALS["current user"] = $current_user; //$GLOBALS["content"] = $content; /////////////////////////////////////////////////// ////////////// GENERAL INFORMATION ////////////// /////////////////////////////////////////////////// // Status if (ENABLED_BID_DESCIPTION) { $user_profile_desc = $user_profile["OBJ_DESC"]; $status = secure_gettext($user_profile_desc); if ($status != "" && !is_integer($status)) { $this->display("GENERAL", "Beschreibung", $status); } } if (ENABLED_STATUS) { $user_profile_desc = empty($user_profile["OBJ_DESC"]) ? "student" : $user_profile["OBJ_DESC"]; $status = secure_gettext($user_profile_desc); $this->display("GENERAL", "Status", $status); } if (ENABLED_EMAIL) { $user_email = empty($user_profile["USER_EMAIL"]) ? "keine E-Mail-Adresse gesetzt" : $user_profile["USER_EMAIL"]; $this->display("GENERAL", "E-Mail-Adresse", h($user_email)); } if (ENABLED_BID_EMAIL) { $helper = empty($user_profile["USER_EMAIL"]) ? true : false; $user_email = empty($user_profile["USER_EMAIL"]) ? "keine E-Mail-Adresse gesetzt" : $user_profile["USER_EMAIL"]; if ($helper) { $this->display("GENERAL", "E-Mail", h($user_email)); } else { $mail = h($user_profile["USER_EMAIL"]); $mail1 = '<a href="mailto:' . $mail . '">' . $mail . '</a>'; //var_dump($mail1);die; $this->display("GENERAL", "E-Mail", $mail1); } } // Gender if (ENABLED_GENDER) { switch (is_string($user_profile["USER_PROFILE_GENDER"]) ? $user_profile["USER_PROFILE_GENDER"] : "X") { case "F": $gender = gettext("female"); break; case "M": $gender = gettext("male"); break; default: $gender = gettext("rather not say"); break; } $this->display("GENERAL", "Gender", $gender); } // Origin - Faculty if (ENABLED_FACULTY) { $faculty = \lms_steam::get_faculty_name($user_profile["USER_PROFILE_FACULTY"]); $this->display("GENERAL", "Origin", $faculty); } if (ENABLED_WANTS) { $this->display("GENERAL", "Wants", h($user_profile["USER_PROFILE_WANTS"])); } if (ENABLED_HAVES) { $this->display("GENERAL", "Haves", h($user_profile["USER_PROFILE_HAVES"])); } if (ENABLED_ORGANIZATIONS) { $this->display("GENERAL", "Organizations", h($user_profile["USER_PROFILE_ORGANIZATIONS"])); } if (ENABLED_HOMETOWN) { $this->display("GENERAL", "Hometown", h($user_profile["USER_PROFILE_HOMETOWN"])); } if (ENABLED_MAIN_FOCUS) { $this->display("GENERAL", "Main focus", h($user_profile["USER_PROFILE_FOCUS"])); } if (ENABLED_OTHER_INTERESTS) { $this->display("GENERAL", "Other interests", h($user_profile["USER_PROFILE_OTHER_INTERESTS"])); } // LANGUAGE if (ENABLED_BID_LANGUAGE) { $this->display("GENERAL", "Language", $user_profile["USER_LANGUAGE"]); } if (ENABLED_LANGUAGES) { $languages = array("english" => array("name" => gettext("English"), "icon" => "flag_gb.gif", "lang_key" => "en_US"), "german" => array("name" => gettext("German"), "icon" => "flag_de.gif", "lang_key" => "de_DE")); $ulang = $user_profile["USER_LANGUAGE"]; if (!is_string($ulang) || $ulang === "0") { $ulang = LANGUAGE_DEFAULT_STEAM; } if (!array_key_exists($ulang, $languages)) { $ulang = LANGUAGE_DEFAULT_STEAM; } $language_string = ""; foreach ($languages as $key => $language) { if ($ulang == $key) { $language_string .= "<img class=\"flag\" src=\"" . PATH_EXTENSIONS . "/profile/asset/icons/images/" . $language["icon"] . "\" title=\"" . $language["name"] . "\" />"; } } $this->display("GENERAL", "Language", $language_string); } if ($this->GENERAL_displayed) { $GLOBALS["content"]->setVariable("HEADER_GENERAL_INFORMATION", gettext("General Information")); } /////////////////////////////////////////////////// /////////////// CONTACTS & GROUPS /////////////// /////////////////////////////////////////////////// // CONTACTS if (ENABLED_CONTACTS) { $html_code_contacts = ""; $max_contacts = $counter = 25; if (count($contacts) > 0) { foreach ($contacts as $id => $contact) { if ($counter > 0) { $title = !empty($contact["USER_ACADEMIC_TITLE"]) ? $contact["USER_ACADEMIC_TITLE"] . " " : ""; $html_code_contacts .= "<a href=\"" . PATH_URL . "profile/" . $contact["OBJ_NAME"] . "/\">" . $title . $contact["USER_FIRSTNAME"] . " " . $contact["USER_FULLNAME"] . "</a>"; $html_code_contacts .= $id == count($contacts) - 1 || $counter == 1 ? "" : ", "; $counter--; } else { $html_code_contacts .= " <a href=\"" . PATH_URL . "profile/{$login}/contacts/\">(" . gettext("more") . "...)</a>"; break; } } } else { $html_code_contacts = gettext("No contacts yet."); } $this->display("CONTACTS_AND_GROUPS", "Contacts", $html_code_contacts); } if (ENABLED_GROUPS) { // GROUPS $public = $user->get_id() != $current_user->get_id() ? TRUE : FALSE; $groups = $cache->call("lms_steam::user_get_groups", $login, $public); $html_code_groups = ""; $max_groups = $counter = 25; if (count($groups) > 0) { usort($groups, "sort_objects"); foreach ($groups as $id => $group) { if ($counter > 0) { $html_code_groups .= "<a href=\"" . PATH_URL . "groups/" . $group["OBJ_ID"] . "/\">" . h($group["OBJ_NAME"]) . "</a>"; $html_code_groups .= $id == count($groups) - 1 || $counter == 1 ? "" : ", "; $counter--; } else { $html_code_groups .= " <a href=\"" . PATH_URL . "profile/{$login}/groups/\">(" . gettext("more") . "...)</a>"; break; } } } else { $html_code_groups = gettext("No memberships yet."); } $this->display("CONTACTS_AND_GROUPS", "Groups", $html_code_groups); } if ($this->CONTACTS_AND_GROUPS_displayed) { $GLOBALS["content"]->setVariable("HEADER_CONTACTS_AND_GROUPS", gettext("Contacts and Groups")); } ///////////////////////////////////////////////////// /////////////// CONTACT INFORMATION /////////////// ///////////////////////////////////////////////////// $is_buddy = $user->is_buddy($current_user) || $user->get_id() == $current_user->get_id() ? TRUE : FALSE; if (ENABLED_EMAIL) { $mail = h($user_profile["USER_EMAIL"]); $mail1 = '<a href="mailto:"' . $mail . '">' . $mail . '</a>'; $this->display("CONTACT_DATA", "E-mail", $mail1, $is_buddy); } if (ENABLED_ADDRESS) { $adress = h($user_profile["USER_PROFILE_ADDRESS"]); $this->display("CONTACT_DATA", "Address", $adress, $is_buddy); } if (ENABLED_BID_ADRESS) { $adress = h($user_profile["USER_PROFILE_ADDRESS"]); if (isset($adress) && !is_integer($adress) && trim($adress) != "") { $this->display("GENERAL", "Address", h($user_profile["USER_ADRESS"]), $is_buddy); } } if (ENABLED_TELEPHONE) { $this->display("CONTACT_DATA", "Telephone", h($user_profile["USER_PROFILE_TELEPHONE"]), $is_buddy); } if (ENABLED_BID_PHONE) { $phone = h($user_profile["bid:user_callto"]); if (isset($phone) && $phone != 0 && $phone != "") { $phone1 = '<a href="callto:' . $phone . '">' . $phone . '</a>'; $this->display("GENERAL", "Telefon", $phone1, $is_buddy); } } if (ENABLED_PHONE_MOBILE) { $this->display("CONTACT_DATA", "Phone, mobile", h($user_profile["USER_PROFILE_PHONE_MOBILE"]), $is_buddy); } // Website $website_name = $user_profile["USER_PROFILE_WEBSITE_NAME"]; $website_uri = $user_profile["USER_PROFILE_WEBSITE_URI"]; if (empty($website_name)) { $website_name = $website_uri; } $website_link = empty($website_name) ? '' : '<a target="_blank" href="' . h($website_uri) . '">' . h($website_name) . '</a>'; if (ENABLED_WEBSITE) { $this->display("CONTACT_DATA", gettext("Website"), $website_link); } if (ENABLED_ICQ_NUMBER || ENABLED_BID_IM) { $icq = h($user_profile["USER_PROFILE_IM_ICQ"]); if (isset($icq) && $icq !== 0 && $icq != "") { $icq1 = '<a href="http://www.icq.com/whitepages/cmd.php?uin=' . $icq . '&action=add">' . $icq . '</a>'; $this->display("CONTACT_DATA", "ICQ number", $icq1); } } if (ENABLED_MSN_IDENTIFICATION || ENABLED_BID_IM) { $msn = h($user_profile["USER_PROFILE_IM_MSN"]); if (isset($msn) && $msn !== 0 && $msn != "") { $msn1 = '<a href="http://members.msn.com/' . $msn . '">' . $msn . '</a>'; $this->display("CONTACT_DATA", "MSN identification", $msn1); } } // AIM if (ENABLED_AIM_ALIAS || ENABLED_BID_IM) { if (!empty($user_profile["USER_PROFILE_IM_AIM"])) { $aim_alias = h($user_profile["USER_PROFILE_IM_AIM"]); if (isset($aim_alias) && $aim_alias !== 0 && $aim_alias != "") { $aim = "<a href=\"aim:" . $aim_alias . "\">" . $aim_alias . "</a>"; $this->display("CONTACT_DATA", "AIM-alias", $aim); } //$aim = "<span id=\"USER_PROFILE_IM_AIM\"><a href=\"{VALUE_AIM_LINK}\">{VALUE_AIM_ALIAS}</a></span>"; } } if (ENABLED_YAHOO_ID || ENABLED_BID_IM) { $yahoo = h($user_profile["USER_PROFILE_IM_YAHOO"]) !== 0 ? h($user_profile["USER_PROFILE_IM_YAHOO"]) : ""; if (isset($yahoo) && $yahoo !== 0 && $yahoo != "") { $this->display("CONTACT_DATA", "Yahoo-ID", $yahoo); } } // Skype if (ENABLED_SKYPE_NAME || ENABLED_BID_IM) { if (!empty($user_profile["USER_PROFILE_IM_SKYPE"])) { $skype_alias = h($user_profile["USER_PROFILE_IM_SKYPE"]); if (isset($skype_alias) && $skype_alias !== 0 && $skype_alias != "") { $skype = "<a href=\"skype:" . $skype_alias . "\">" . $skype_alias . "</a>"; } $this->display("CONTACT_DATA", "Skype name", $skype); } } $GLOBALS["content"] = $GLOBALS["content"]; if ($this->CONTACT_DATA_displayed) { $GLOBALS["content"]->setVariable("HEADER_CONTACT_DATA", gettext("Contact Data")); } $GLOBALS["content"]->setVariable("PATH_JAVASCRIPT", PATH_JAVASCRIPT); $GLOBALS["content"]->setVariable("KOALA_VERSION", KOALA_VERSION); $GLOBALS["content"]->setVariable("USER_LOGIN", $login); $html_handler_profile->set_html_left($GLOBALS["content"]->get()); $frameResponseObject->setHeadline($html_handler_profile->get_headline()); $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html_handler_profile->get_html()); $frameResponseObject->addWidget($rawHtml); return $frameResponseObject; }
public function execute(\FrameResponseObject $frameResponseObject) { //$portal = \lms_portal::get_instance(); //$portal->initialize( GUEST_NOT_ALLOWED ); //$portal->set_guest_allowed( GUEST_NOT_ALLOWED ); $user = \lms_steam::get_current_user(); //$portal_user = $portal->get_user(); //$path = $request->getPath(); $current_semester = $this->params[1]; $group_course = \steam_factory::groupname_to_object($GLOBALS["STEAM"]->get_id(), "Courses." . $this->params[0] . "." . $this->params[1]); $group = new \koala_group_course($group_course); //$html_handler_course = new \koala_html_course($course); if (!$group instanceof \koala_group) { throw new \Exception("Variable group not set."); } if ($_SERVER["REQUEST_METHOD"] == "POST") { if (isset($_POST["remove"]) && is_array($_POST["remove"])) { $id = key($_POST["remove"]); $member_to_kick = \steam_factory::username_to_object($GLOBALS["STEAM"]->get_id(), $id); $group->remove_member($member_to_kick); $frameResponseObject->setConfirmText(str_replace("%NAME", h($member_to_kick->get_attribute("USER_FIRSTNAME")) . " " . h($member_to_kick->get_attribute("USER_FULLNAME")), gettext("User %NAME successfully removed from group members."))); //$portal->set_confirmation( str_replace( "%NAME", h($member_to_kick->get_attribute( "USER_FIRSTNAME" ))." " . h($member_to_kick->get_attribute( "USER_FULLNAME" )), gettext( "User %NAME successfully removed from group members." ) ) ); // clear caches: $cache = get_cache_function($member_to_kick->get_name()); $cache->drop("lms_steam::user_get_groups", $member_to_kick->get_name(), TRUE); $cache->drop("lms_steam::user_get_groups", $member_to_kick->get_name(), FALSE); $cache->drop("lms_steam::user_get_profile", $member_to_kick->get_name()); $cache->drop("lms_portal::get_menu_html", $member_to_kick->get_name(), TRUE); $cache = get_cache_function($group->get_id()); $cache->drop("lms_steam::group_get_members", $group->get_id()); } else { if (isset($_POST["hide"]) && is_array($_POST["hide"])) { $hidden_members = $group->get_steam_group()->get_attribute("COURSE_HIDDEN_STAFF"); if (!is_array($hidden_members)) { $hidden_members = array(); } $users_to_hide = array_keys($_POST["hide"]); $displayed_staff_members = array(); $displayed_staff_members = array_keys($_POST["displayed_staff_member"]); $tmp1_users_to_hide = array_unique(array_merge($hidden_members, $users_to_hide)); $tmp2_users_to_hide = array_diff($tmp1_users_to_hide, $displayed_staff_members); $final_users_to_hide = array_unique(array_merge($tmp2_users_to_hide, $users_to_hide)); $group->get_steam_group()->set_attribute("COURSE_HIDDEN_STAFF", $final_users_to_hide); } else { $hidden_members = $group->get_steam_group()->get_attribute("COURSE_HIDDEN_STAFF"); if (!is_array($hidden_members)) { $hidden_members = array(); } $displayed_staff_members = array(); $displayed_staff_members = array_keys($_POST["displayed_staff_member"]); $users_to_hide = array(); $users_to_hide = array_diff($hidden_members, $displayed_staff_members); $group->get_steam_group()->set_attribute("COURSE_HIDDEN_STAFF", $users_to_hide); } $frameResponseObject->setConfirmText("Sucessfully updated the visibility of course staff"); //$portal->set_confirmation( "Sucessfully updated the visibility of course staff" ); } } $cache = get_cache_function($group->get_id(), CACHE_LIFETIME_STATIC); switch (get_class($group)) { case "koala_group_course": $html_handler_group = new \koala_html_course($group); $html_handler_group->set_context("staff"); //$members = $cache->call( "lms_steam::group_get_members", $group->steam_group_staff->get_id() ); $members = \lms_steam::group_get_members($group->steam_group_staff->get_id()); break; default: $html_handler_group = new \koala_html_group($group); $html_handler_group->set_context("staff"); //$members = $cache->call( "lms_steam::group_get_members", $group->get_id() ); $members = \lms_steam::group_get_members($group->get_id()); break; } $is_admin = $group->is_admin($user); $content = \Course::getInstance()->loadTemplate("list_staff.template.html"); //$content = new HTML_TEMPLATE_IT(); //$content->loadTemplateFile( PATH_TEMPLATES . "list_staff.template.html" ); $no_members = count($members); //DONE if ($no_members > 0) { $pageIterator = \lms_portal::get_paginator(10, $no_members, "(" . str_replace("%NAME", h($group->get_name()), gettext("%TOTAL members in %NAME")) . ")"); $content->setVariable("PAGEITERATOR", $pageIterator["html"]); $start = $pageIterator["startIndex"]; //$start = $portal->set_paginator( $content, 10, $no_members, "(" . str_replace( "%NAME", h($group->get_name()), gettext( "%TOTAL members in %NAME" ) ) . ")" ); $end = $start + 10 > $no_members ? $no_members : $start + 10; $content->setVariable("LABEL_CONTACTS", gettext("staff member") . " (" . str_replace(array("%a", "%z", "%s"), array($start + 1, $end, $no_members), gettext("%a-%z out of %s")) . ")"); $content->setCurrentBlock("BLOCK_CONTACT_LIST"); $content->setVariable("LABEL_NAME_POSITION", gettext("Name, position")); !COURSE_STAFF_FACULTY_AND_FOCUS or $content->setVariable("LABEL_SUBJECT_AREA", gettext("Origin/Focus")); $content->setVariable("LABEL_COMMUNICATION", gettext("Communication")); if (\lms_steam::is_koala_admin($user) || !COURSE_KOALAADMIN_ONLY && $is_admin) { !COURSE_STAFFLIST_MANAGE or $content->setVariable("TH_MANAGE_CONTACT", gettext("Action")); !COURSE_STAFFLIST_HIDE or $content->setVariable("TH_STAFF_MEMBER_VISIBILITY", gettext("hidden")); !COURSE_STAFFLIST_HIDE or $content->setVariable("STAFF_MEMBER_VISIBILITY_TITLE", gettext("Selected staff members will not be visible on the course start page.")); } !COURSE_STAFF_EXTENSIONS or $content->setVariable("TH_MANAGE_EXTENSIONS", "Status"); $content->setVariable("BEGIN_HTML_FORM", "<form method=\"POST\" action=\"\">"); $content->setVariable("END_HTML_FORM", "</form>"); $hidden_members = $group->get_steam_group()->get_attribute("COURSE_HIDDEN_STAFF"); if (!is_array($hidden_members)) { $hidden_members = array(); } for ($i = $start; $i < $end; $i++) { $member = $members[$i]; if ($member["USER_TRASHED"] === 1) { continue; } $content->setCurrentBlock("BLOCK_CONTACT"); $content->setVariable("CONTACT_LINK", PATH_URL . "user/" . h($member["OBJ_NAME"]) . "/"); $icon_link = $member["OBJ_ICON"] == 0 ? PATH_STYLE . "images/anonymous.jpg" : PATH_URL . "download/image/" . h($member["OBJ_ICON"]) . "/26/35"; $content->setVariable("CONTACT_IMAGE", $icon_link); $title = !empty($member["USER_ACADEMIC_TITLE"]) ? h($member["USER_ACADEMIC_TITLE"]) . " " : ""; $content->setVariable("CONTACT_NAME", $title . h($member["USER_FIRSTNAME"]) . " " . h($member["USER_FULLNAME"])); if (!COURSE_SHOW_ONLY_EXTERN_MAIL || COURSE_SHOW_ONLY_EXTERN_MAIL && is_string(\steam_factory::get_user($GLOBALS['STEAM']->get_id(), $member["OBJ_NAME"])->get_attribute("USER_EMAIL")) && steam_factory::get_user($GLOBALS['STEAM']->get_id(), $member["OBJ_NAME"])->get_attribute("USER_EMAIL") != "" && steam_factory::get_user($GLOBALS['STEAM']->get_id(), $member["OBJ_NAME"])->get_attribute("USER_FORWARD_MSG") === 1) { $content->setVariable("LINK_SEND_MESSAGE", PATH_URL . "messages_write.php?to=" . h($member["OBJ_NAME"])); $content->setVariable("LABEL_MESSAGE", gettext("Message")); $content->setVariable("LABEL_SEND", gettext("Send")); } !COURSE_STAFF_FACULTY_AND_FOCUS or $content->setVariable("FACULTY_AND_FOCUS", h($member["USER_PROFILE_FACULTY"])); if (\lms_steam::is_koala_admin($user) || !COURSE_KOALAADMIN_ONLY && $is_admin) { !COURSE_STAFFLIST_MANAGE or $content->setVariable("TD_MANAGE_CONTACT", "<td align=\"center\"><input type=\"submit\" name=\"remove[" . h($member["OBJ_NAME"]) . "]\" value=\"" . gettext("Remove") . "\"/></td>"); if (in_array($member["OBJ_ID"], $hidden_members)) { !COURSE_STAFFLIST_HIDE or $content->setVariable("TD_STAFF_MEMBER_VISIBILITY", "<td align=\"center\"><input type=\"checkbox\" name=\"hide[" . $member["OBJ_ID"] . "]\" checked=\"checked\"/>" . "\n\t\t\t<input type=\"hidden\" name=\"displayed_staff_member[" . $member["OBJ_ID"] . "]\" />" . "</td>"); } else { !COURSE_STAFFLIST_HIDE or $content->setVariable("TD_STAFF_MEMBER_VISIBILITY", "<td align=\"center\"><input type=\"checkbox\" name=\"hide[" . $member["OBJ_ID"] . "]\" />" . "\n\t\t\t<input type=\"hidden\" name=\"displayed_staff_member[" . $member["OBJ_ID"] . "]\" />" . "</td>"); } } $member_desc = empty($member["OBJ_DESC"]) ? "student" : $member["OBJ_DESC"]; $status = secure_gettext($member_desc); $content->setVariable("OBJ_DESC", h($status)); if (COURSE_STAFF_EXTENSIONS) { $extensions = $group->get_extensions(); $result = ""; foreach ($extensions as $extension) { $result .= $extension->get_member_info(\steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $member["OBJ_NAME"]), $group); } $content->setVariable("EXTENSIONS_DATA", $result); } $content->parse("BLOCK_CONTACT"); } if (\lms_steam::is_koala_admin($user) || !COURSE_KOALAADMIN_ONLY && $is_admin) { !COURSE_STAFFLIST_HIDE or $content->setVariable("LABEL_SUBMIT_BUTTON", gettext("Save")); } $content->parse("BLOCK_CONTACT_LIST"); } else { $content->setVariable("LABEL_NO_MEMBERS", gettext("No staff found.")); } $html_handler_group->set_html_left($content->get()); //$portal->set_page_main( $html_handler_group->get_headline(), $html_handler_group->get_html() , "" ); $frameResponseObject->setHeadline($html_handler_group->get_headline()); $widget = new \Widgets\RawHtml(); $widget->setHtml($html_handler_group->get_html()); $frameResponseObject->addWidget($widget); return $frameResponseObject; }
public function execute(\FrameResponseObject $frameResponseObject) { $current_user = \lms_steam::get_current_user(); //$path = $request->getPath(); if ($this->id != "") { $userName = $this->id; $user = \steam_factory::get_user($GLOBALS["STEAM"]->get_id(), $userName); } else { $user = $current_user; } $login = $current_user->get_name(); $cache = get_cache_function($login, 86400); //$portal = \lms_portal::get_instance(); //$portal->set_page_title( $login ); $html_handler_profile = new \koala_html_profile($user); $html_handler_profile->set_context("contacts"); if ($this->viewer_authorized($current_user, $user)) { // Display Contacts $unconfirmed_html = ""; // Contacts to confirm (visible only for the user himself) if ($current_user->get_id() == $user->get_id()) { $content = \Profile::getInstance()->loadTemplate("list_users.template.html"); //$content = new HTML_TEMPLATE_IT(); //$content->loadTemplateFile( PATH_TEMPLATES . "list_users.template.html" ); $contacts = $cache->call("lms_steam::user_get_contacts_to_confirm", $login); $no_contacts = count($contacts); if ($no_contacts > 0) { $content->setCurrentBlock("BLOCK_CONTACT_LIST"); $result = \lms_portal::get_paginator($content, 10, $no_contacts, "(" . gettext("%TOTAL contact requests in list") . ")"); $content->setVariable("PAGEITERATOR", $result["html"]); $start = $result["start"]; $end = $start + 10 > $no_contacts ? $no_contacts : $start + 10; if ($current_user->get_id() == $user->get_id()) { $content->setVariable("LABEL_CONTACTS", gettext("Contact requests") . " (" . str_replace(array("%a", "%z", "%s"), array($start + 1, $end, $no_contacts), gettext("%a-%z out of %s")) . ")"); } else { $content->setVariable("LABEL_CONTACTS", str_replace("%NAME", h($user->get_attribute("USER_FIRSTNAME")) . " " . h($user->get_attribute("USER_FULLNAME")), gettext("%NAME's contacts")) . " (" . str_replace(array("%a", "%z", "%s"), array($start + 1, $end, $no_contacts), gettext("%a-%z out of %s")) . ")"); } // CONTACTS $content->setVariable("LABEL_NAME_POSITION", gettext("Name, position")); $content->setVariable("LABEL_SUBJECT_AREA", gettext("Origin/Focus")); $content->setVariable("LABEL_COMMUNICATION", gettext("Communication")); if ($user->get_id() == $current_user->get_id()) { $content->setVariable("TH_MANAGE_CONTACT", gettext("Manage request")); } for ($i = $start; $i < $end; $i++) { $contact = $contacts[$i]; $content->setCurrentBlock("BLOCK_CONTACT"); $content->setVariable("CONTACT_LINK", PATH_URL . "profile/" . h($contact["OBJ_NAME"]) . "/"); $icon_link = $contact["OBJ_ICON"] == 0 ? PATH_STYLE . "images/anonymous.jpg" : PATH_URL . "cached/get_document.php?id=" . h($contact["OBJ_ICON"]) . "&type=usericon&width=30&height=40"; $content->setVariable("CONTACT_IMAGE", $icon_link); $title = !empty($contact["USER_ACADEMIC_TITLE"]) ? h($contact["USER_ACADEMIC_TITLE"]) . " " : ""; $content->setVariable("CONTACT_NAME", $title . h($contact["USER_FIRSTNAME"]) . " " . h($contact["USER_FULLNAME"])); $faf = \lms_steam::get_faculty_name($contact["USER_PROFILE_FACULTY"]); $faf .= empty($contact["USER_PROFILE_FOCUS"]) ? "" : ": " . h($contact["USER_PROFILE_FOCUS"]); $content->setVariable("FACULTY_AND_FOCUS", $faf); $content->setVariable("LINK_SEND_MESSAGE", PATH_URL . "messages_write.php?to=" . h($contact["OBJ_NAME"])); $content->setVariable("LABEL_MESSAGE", gettext("Message")); $content->setVariable("LABEL_SEND", gettext("Send")); if ($user->get_id() == $current_user->get_id()) { $content->setVariable("TD_MANAGE_CONTACT", "<td align=\"center\"><a href=\"" . PATH_URL . "contact_confirm.php?id=" . h($contact["OBJ_ID"]) . "\">" . gettext("Confirm") . " / " . gettext("Deny") . "</a></td>"); } $contact_desc = empty($contact["OBJ_DESC"]) ? "student" : $contact["OBJ_DESC"]; $status = secure_gettext($contact_desc); $content->setVariable("OBJ_DESC", h($status)); $content->parse("BLOCK_CONTACT"); } $content->parse("BLOCK_CONTACT_LIST"); } $unconfirmed_html = $content->get(); } $content = \Profile::getInstance()->loadTemplate("list_users.template.html"); //$content = new HTML_TEMPLATE_IT(); //$content->loadTemplateFile( PATH_TEMPLATES . "list_users.template.html" ); // Contact list $confirmed = $user->get_id() != $current_user->get_id() ? TRUE : FALSE; $contacts = $cache->call("lms_steam::user_get_buddies", $login, $confirmed); // If user views his own contact list, get information about the confirmed contacts too //HACK START DOMINIK FRAGEN! $confirmed_contacts = ""; //HACK END if (!$confirmed) { $confirmed_contacts = $user->get_attribute("USER_CONTACTS_CONFIRMED"); } if (!is_array($confirmed_contacts)) { $confirmed_contacts = array(); } $no_contacts = count($contacts); if ($no_contacts > 0) { $content->setCurrentBlock("BLOCK_CONTACT_LIST"); $start = $portal->set_paginator($content, 10, $no_contacts, "(" . gettext("%TOTAL contacts in list") . ")"); $end = $start + 10 > $no_contacts ? $no_contacts : $start + 10; if ($current_user->get_id() == $user->get_id()) { $content->setVariable("LABEL_CONTACTS", gettext("Your contacts") . " (" . str_replace(array("%a", "%z", "%s"), array($start + 1, $end, $no_contacts), gettext("%a-%z out of %s")) . ")"); } else { $content->setVariable("LABEL_CONTACTS", str_replace("%NAME", h($user->get_attribute("USER_FIRSTNAME")) . " " . h($user->get_attribute("USER_FULLNAME")), gettext("%NAME's contacts")) . " (" . str_replace(array("%a", "%z", "%s"), array($start + 1, $end, $no_contacts), gettext("%a-%z out of %s")) . ")"); } // CONTACTS $content->setVariable("LABEL_NAME_POSITION", gettext("Name, position")); $content->setVariable("LABEL_SUBJECT_AREA", gettext("Origin/Focus")); $content->setVariable("LABEL_COMMUNICATION", gettext("Communication")); if ($user->get_id() == $current_user->get_id()) { $content->setVariable("TH_MANAGE_CONTACT", gettext("Manage contact")); } for ($i = $start; $i < $end; $i++) { $contact = $contacts[$i]; $content->setCurrentBlock("BLOCK_CONTACT"); $content->setVariable("CONTACT_LINK", PATH_URL . "profile/" . h($contact["OBJ_NAME"]) . "/"); $icon_link = $contact["OBJ_ICON"] == 0 ? PATH_STYLE . "images/anonymous.jpg" : PATH_URL . "cached/get_document.php?id=" . h($contact["OBJ_ICON"]) . "&type=usericon&width=30&height=40"; $content->setVariable("CONTACT_IMAGE", $icon_link); $title = !empty($contact["USER_ACADEMIC_TITLE"]) ? h($contact["USER_ACADEMIC_TITLE"]) . " " : ""; $content->setVariable("CONTACT_NAME", $title . h($contact["USER_FIRSTNAME"]) . " " . h($contact["USER_FULLNAME"])); $faf = lms_steam::get_faculty_name($contact["USER_PROFILE_FACULTY"]); $faf .= empty($contact["USER_PROFILE_FOCUS"]) ? "" : ": " . h($contact["USER_PROFILE_FOCUS"]); $content->setVariable("FACULTY_AND_FOCUS", $faf); $content->setVariable("LINK_SEND_MESSAGE", PATH_URL . "messages_write.php?to=" . h($contact["OBJ_NAME"])); $content->setVariable("LABEL_MESSAGE", gettext("Message")); $content->setVariable("LABEL_SEND", gettext("Send")); $cmessage = ""; if ($user->get_id() == $current_user->get_id()) { if (isset($confirmed_contacts[$contact["OBJ_ID"]]) && $confirmed_contacts[$contact["OBJ_ID"]]) { $cmessage .= "(" . gettext("Confirmed") . ")"; } else { $cmessage .= "(" . gettext("Unconfirmed") . ")"; } $content->setVariable("TD_MANAGE_CONTACT", "<td align=\"center\"><a href=\"" . PATH_URL . "contact_delete.php?id=" . h($contact["OBJ_ID"]) . "\">" . gettext("Delete") . "</a></td>"); } $contact_desc = empty($contact["OBJ_DESC"]) ? "student" : $contact["OBJ_DESC"]; $status = secure_gettext($contact_desc); $content->setVariable("OBJ_DESC", h($status) . (strlen($cmessage) > 0 ? "<br />" . $cmessage : "")); $content->parse("BLOCK_CONTACT"); } $content->parse("BLOCK_CONTACT_LIST"); } else { $content->setVariable("LABEL_CONTACTS", gettext("No contacts yet.")); } } else { $messagebox = "<div class=\"infoBar\"><h2>" . gettext("The user has restricted the display of this information.") . "</h2></div>"; $content = \Profile::getInstance()->loadTemplate("list_users.template.html"); //$content = new \HTML_TEMPLATE_IT(); //$content->loadTemplateFile( PATH_TEMPLATES . "list_users.template.html" ); $content->setVariable("LABEL_PRIVACY_DENY_PARTICIPANTS", $messagebox); } $html_handler_profile->set_html_left($unconfirmed_html . $content->get()); $frameResponseObject->setHeadline($html_handler_profile->get_headline()); $rawHtml = new \Widgets\RawHtml(); $rawHtml->setHtml($html_handler_profile->get_html()); $frameResponseObject->addWidget($rawHtml); return $frameResponseObject; //$portal->set_page_main( $html_handler_profile->get_headline(), $html_handler_profile->get_html(), "vcard" ); //return $portal->get_html(); }