Example #1
0
 public static function get_roles($user, $contexts)
 {
     $roles = array();
     $roles[] = benutzer_role::get_role($user, $context);
     $roles[] = teilnehmer_role::get_role($user, $context);
     $roles[] = betreuer_role::get_role($user, $context);
     $roles[] = ansprechpartner_role::get_role($user, $context);
     $roles[] = stahl_role::get_role($user, $context);
     $roles[] = unternehmensverwalter_role::get_role($user, $context);
     $roles[] = systemverwalter_role::get_role($user, $context);
     $roles[] = coactum_role::get_role($user, $context);
     var_dump($roles);
     return $roles;
 }
 static function make_role($user_id, $context)
 {
     $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->updateUserStatus($user_id, "Ansprechpartner");
     if (self::is_role($user_id, $context)) {
         return;
     }
     parent::make_role($user_id, $context);
     $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->updateUserStatus($user_id, "Ansprechpartner");
     if ($context instanceof kurs_context) {
         $course_group_id = $context->get_context_object();
         $course_group = steam_factory::get_object($GLOBALS["STEAM"]->get_id(), $course_group_id);
         $hidden_members = $course_group->get_attribute("COURSE_HIDDEN_STAFF");
         if (!is_array($hidden_members)) {
             $hidden_members = array();
         }
         unset($hidden_members[array_search($user_id, $hidden_members)]);
         $users_to_hide = $hidden_members;
         $course_group->set_attribute("COURSE_HIDDEN_STAFF", $users_to_hide);
     }
 }
Example #3
0
    public function execute(Request $request, Response $response)
    {
        $currentUserID = $GLOBALS["STEAM"]->get_current_steam_user()->get_id();
        // The user to dialog for
        $userID = $request->getParameter("userID");
        $result = array("id" => $request->getParameter("senderID"), "command" => "showCourseDialog");
        $firstname = $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->getUserFirstName($userID);
        $lastname = $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->getUserLastName($userID);
        $login = $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->getUserLogin($userID);
        $course_rows = "";
        $counter = 0;
        foreach ($GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->getCourseDataForCustomer($_SESSION["CURRENT_CUSTOMER_ID"]) as $courseID) {
            $data = $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->getCourseData($courseID);
            $is_teilnehmer = teilnehmer_role::is_role($userID, new kurs_context($courseID));
            $is_betreuer = betreuer_role::is_role($userID, new kurs_context($courseID));
            $is_anspechpartner = ansprechpartner_role::is_role($userID, new kurs_context($courseID));
            $is_mitglied = $is_teilnehmer || $is_betreuer;
            $is_unternehmens_verwalter = unternehmensverwalter_role::is_role($userID, new unternehmens_context($_SESSION["CURRENT_CUSTOMER_ID"]));
            $is_system_verwalter = systemverwalter_role::is_role($userID, new system_context(""));
            $current_user_is_systemverwalter = systemverwalter_role::is_role($GLOBALS["STEAM"]->get_current_steam_user()->get_id(), "");
            $mitglied_checked = $is_mitglied ? "checked" : "";
            $unternehmens_verwalter_checked = $is_unternehmens_verwalter ? "checked" : "";
            $system_verwalter_checked = $is_system_verwalter ? "checked" : "";
            $mitglied_disabled = "";
            $teilnehmer_checked = "";
            $betreuer_checked = "";
            $ansprechpartner_checked = "";
            $role_disabled = "";
            if ($is_mitglied) {
                if ($is_anspechpartner) {
                    $ansprechpartner_checked = "checked";
                } else {
                    if ($is_betreuer) {
                        $betreuer_checked = "checked";
                    } else {
                        if ($is_teilnehmer) {
                            $teilnehmer_checked = "checked";
                        }
                    }
                }
                if (!$current_user_is_systemverwalter) {
                    $mitglied_disabled = "disabled";
                }
            } else {
                $role_disabled = "disabled";
            }
            $counter++;
            $course_rows .= "<tr>";
            $course_rows .= "<td>" . $data["course_id"] . "</td>";
            $course_rows .= "<td><b>»" . $data["name"] . "«</b><br><small>(" . $data["shortDesc"] . ")</small></td>";
            $course_rows .= "<td><form name=\"member\"><input type=\"checkbox\" {$mitglied_checked} {$mitglied_disabled} /></form>";
            $course_rows .= "";
            $course_rows .= "</td>";
            $course_rows .= "<td><form name=\"role\" {$role_disabled}><input type=\"radio\" name=\"role\" value=\"Teilnehmer\" {$teilnehmer_checked} onchange=\"changeRole('Teilnehmer',{$courseID},{$userID})\">Teilnehmer</input><br>\n\t\t\t\t\t\t\t\t\t   <input type=\"radio\" name=\"role\" value=\"Betreuer\" {$betreuer_checked} onchange=\"changeRole('Betreuer',{$courseID},{$userID})\">Betreuer</input><br>\n\t\t\t\t\t\t\t\t\t   <input type=\"radio\" name=\"role\" value=\"Ansprechpartener\" {$ansprechpartner_checked} onchange=\"changeRole('Ansprechpartner',{$courseID},{$userID})\">Ansprechpartner</input></form></td>";
            $course_rows .= "</tr>";
        }
        if ($counter == 0) {
            $course_rows = "Es sind keine Kurse für ihr Unternehmer freigeschaltet.";
        }
        if (USERMANAGEMENT_SYSTEMADMIN) {
            $system_admin_text = <<<END
\t\t\t\t\t\t<tr>
\t\t\t\t\t\t\t<td>Systemverwalter</td>
\t\t\t\t\t\t\t<td><form name="system_admin"><input name="system_admin_checkbox" type="checkbox" onchange="toggle_system_admin()" {$system_verwalter_checked}/><input name="user_id" type="hidden" value="{$userID}" /></form></td>
\t\t\t\t\t\t</tr>
END;
        } else {
            $system_admin_text = "";
        }
        if ($GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->isAdmin($currentUserID)) {
            $root_staff = <<<END
\t\t\t\t\t<h3>Verwalterrolle</h3>
\t\t\t\t\t<table class="grid">
\t\t\t\t\t\t<tr>
\t\t\t\t\t\t\t<th style="width:400px">Rolle</th>
\t\t\t\t\t\t\t<th>Status</th>
\t\t\t\t\t\t</tr>
\t\t\t\t\t\t<tr>
\t\t\t\t\t\t\t<td>Unternehmensverwalter</td>
\t\t\t\t\t\t\t<td><form name="customer_admin"><input name="customer_admin_checkbox" type="checkbox" onchange="toggle_customer_admin()" {$unternehmens_verwalter_checked}/><input name="user_id" type="hidden" value="{$userID}" /></form></td>
\t\t\t\t\t\t</tr>
\t\t\t\t\t\t{$system_admin_text}
\t\t\t\t\t</table>
END;
        } else {
            $root_staff = "";
        }
        $html = <<<END
\t\t<style type='text/css'>
\t\t\t.dialog {
\t\t\t\twidth: 100%
\t\t\t}
\t\t\t
\t\t\t.dialog tbody {
\t\t\t\twidth: 100%
\t\t\t}
\t\t\t
\t\t\t.dialog tr {
\t\t\t\twidth: 100%
\t\t\t}
\t\t\t
\t\t\t.dialog_th {
\t\t\t\tbackground-color:#C36026;
\t\t\t\twidth: 745px;
\t\t\t\theight: 25px;
\t\t\t\tcolor: white;
\t\t\t}
\t\t\t
\t\t\t.dialog td {
\t\t\t\tvertical-align:top;
\t\t\t\t
\t\t\t}
\t\t</style>
\t\t
\t\t<table class="dialog">
\t\t\t<tr>
\t\t\t\t<th class="dialog_th"><div style="float:right;display:inline;cursor:pointer" onclick="closeDialog()">[schliessen]</div><h3 style="display:inline">Rolle verwalten</h3></th>
\t\t\t</tr>
\t\t\t<tr>
\t\t\t\t<td>
\t\t\t\t\t<div style="margin:20px"><div class="infoBar">Hier können Sie die Mitgliedschaft in Kursen und die Rolle im Kurs ändern.<br>
\t\t\t\t\tAusgewählter Benutzer: <b>{$firstname} {$lastname} <small>({$login})</small></b></div>
\t\t\t\t\t<h3>Kurse verwalten</h3>
\t\t\t\t\t<table class="grid">
\t\t\t\t\t\t<tr>
\t\t\t\t\t\t\t<th>Kurs ID</th>
\t\t\t\t\t\t\t<th style="width:400px">Kursname</th>
\t\t\t\t\t\t\t<th>Mitglied</th>
\t\t\t\t\t\t\t<th>Rolle</th>
\t\t\t\t\t\t</tr>
\t\t\t\t\t\t{$course_rows}
\t\t\t\t\t</table>
\t\t\t\t\t{$root_staff}
\t\t\t\t\t</div>
\t\t\t\t</td>
\t\t\t</tr>
\t\t</table>
END;
        $result["html"] = $html;
        return $result;
    }
Example #4
0
 public function execute(Request $request, Response $response)
 {
     $userID = $request->getParameter("userID");
     $role = explode(".", $request->getParameter("role"));
     $role_name = $role[0];
     $courseID = $role[1];
     // Result data for AJAX response
     $result = array("id" => $request->getParameter("senderID"), "command" => "changeCourseRole");
     $is_teilnehmer = teilnehmer_role::is_role($userID, new kurs_context($courseID));
     $is_betreuer = betreuer_role::is_role($userID, new kurs_context($courseID));
     $is_anspechpartner = ansprechpartner_role::is_role($userID, new kurs_context($courseID));
     $result["pre"] = $is_teilnehmer . " " . $is_betreuer . " " . $is_anspechpartner;
     if ($role_name == "Teilnehmer") {
         if ($is_anspechpartner) {
             ansprechpartner_role::get_role($userID, new kurs_context($courseID))->remove_role();
         }
         if ($is_betreuer) {
             betreuer_role::get_role($userID, new kurs_context($courseID))->remove_role();
         }
         //			if ($is_teilnehmer) {
         //				// ok
         //			}
         //			if (!$is_teilnehmer) {
         teilnehmer_role::make_role($userID, new kurs_context($courseID));
         //			}
     } else {
         if ($role_name == "Betreuer") {
             if ($is_anspechpartner) {
                 ansprechpartner_role::get_role($userID, new kurs_context($courseID))->remove_role();
             }
             if ($is_betreuer) {
                 // ok
             }
             if ($is_teilnehmer) {
                 teilnehmer_role::get_role($userID, new kurs_context($courseID))->remove_role();
             }
             //			if (!$is_betreuer) {
             betreuer_role::make_role($userID, new kurs_context($courseID));
             //			}
         } else {
             if ($role_name == "Ansprechpartner") {
                 if ($is_anspechpartner) {
                     // ok
                 }
                 if ($is_betreuer) {
                     // ok
                 }
                 if ($is_teilnehmer) {
                     teilnehmer_role::get_role($userID, new kurs_context($courseID))->remove_role();
                 }
                 if (!$is_betreuer) {
                     benutzer_role::make_role($userID, new kurs_context($courseID));
                 }
                 //			if (!$is_anspechpartner) {
                 ansprechpartner_role::make_role($userID, new kurs_context($courseID));
                 //			}
             }
         }
     }
     $result["state"] = "ok";
     $result["role"] = $role_name;
     $result["userid"] = $userID;
     $viewHelper = new ViewHelper();
     $result["html"] = str_replace("</tr>", "", str_replace("<tr class=\"filter_user\" id=\"row[{$userID}]\">", "", $viewHelper->getEmployeeRow($userID, $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->getUserLogin($userID))));
     return $result;
 }