public function execute(Request $request, Response $response) { $key = licensemanager::get_instance()->get_encrypt_key(); $result = array("id" => $request->getParameter("senderID"), "command" => "getEncryptKey"); $result["state"] = "ok"; $result["encryptKey"] = $key; return $result; }
public function execute(Request $request, Response $response) { $jsonParams = $request->getParameter("jsonParams"); $params = json_decode($jsonParams); $license = licensemanager::get_instance()->generate_license($params->customerID, $params->courseID, $params->seats, $params->expiredate); $result = array("id" => $request->getParameter("senderID"), "command" => "generateLicense"); $result["state"] = "ok"; $result["license"] = $license; return $result; }
public function register_user($userID) { if ($this->is_seat_available() && $this->is_license_valid() && !isset($this->user_data->{$userID})) { $this->user_data->{$userID} = time(); licensemanager::get_instance()->store_license($this); return true; } else { return false; } }
public function execute(Request $request, Response $response) { $license = $request->getParameter("license"); $valid = licensemanager::get_instance()->add_license($license); $result = array("id" => $request->getParameter("senderID"), "command" => "installLicense"); if ($valid) { $result["state"] = "ok"; } else { $result["state"] = "fail"; } return $result; }
public function execute(Request $request, Response $response) { $this->commandHelper = new CommandHelper(); // Check values $firstname = $request->getParameter("firstname"); $lastname = $request->getParameter("lastname"); $email = $request->getParameter("email"); $branchID = $request->getParameter("branchID"); $customerID = $request->getParameter("customerID"); $courseID = $request->getParameter("courseID"); if ($courseID != 0) { $elearning_course_id = elearning_mediathek::get_elearning_unit_id($courseID); $customer_name = $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->getObjectName($customerID); $numberOfLicenses = licensemanager::get_instance()->get_registered_license_seats(array(new elearning_context($elearning_course_id), new unternehmens_context($customer_name))); $remainingLicenses = licensemanager::get_instance()->get_available_license_seats(array(new elearning_context($elearning_course_id), new unternehmens_context($customer_name))); } if ($firstname == "") { throw new UsermanagementException("Keinen Vornamen angegeben", "Bitte gebe einen Vornamen ein."); } else { if ($lastname == "") { throw new UsermanagementException("Keinen Nachnamen angegeben", "Bitte gebe einen Nachnamen ein."); } else { if ($courseID != 0 && $remainingLicenses == 0) { throw new UsermanagementException("Keine Lizenz für diesen Kurs verfügbar.", "Bitte installieren sie weiter Lizenzen oder wählen sie einen anderen Kurs aus."); } else { // // A list with all user // $userlist = $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->getUserList(); // // // The initial password for employee // $password = $this->commandHelper->createRandomPassword(8); // // // A login candidate // $loginCandidate = strtolower($firstname[0] . str_replace(" ", "", $lastname)); // // // Add a suffix, if login already exists // if (array_search($loginCandidate, $userlist) != false) { // for ($i=1; $i<=count($userlist)+1; $i++) { // if (array_search($loginCandidate . $i, $userlist) == false) { // $loginCandidate .= $i; // break; // } // } // } // create new user $loginCandidate = $this->commandHelper->createValidLogin($firstname, $lastname); $password = $this->commandHelper->createRandomPassword(8); $activationCode = $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->createEmployee($loginCandidate, $password, $email, $firstname, $lastname, $branchID, $customerID); $xmlContent = "<users>\n"; $xmlContent .= "\t<user firstname=\"" . $firstname . "\" lastname=\"" . $lastname . "\" login=\"" . $loginCandidate . "\" password=\"" . $password . "\" state=\"ok\" />\n"; $xmlContent .= "</users>"; $xmlFileName = time() . ".xml"; $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->saveCustomerCreationLogFile($_SESSION["CURRENT_CUSTOMER_ID"], $xmlFileName, $xmlContent); $text = ""; if ($courseID != 0 && $remainingLicenses > 0) { $elearning_course_id = elearning_mediathek::get_elearning_unit_id($courseID); $customer_name = $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->getObjectName($customerID); $userID = $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->login2ID($loginCandidate); licensemanager::get_instance()->register_user($userID, array(new elearning_context($elearning_course_id), new unternehmens_context($customer_name))); $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->addParticipant($userID, $courseID); $text = " und zum Kurs hinzugefügt"; } return "Neuer Benutzer wurde erfolgreich angelegt{$text}.<br>Login: "******" und Passwort: " . $password; } } } }
public function getCourseRowOverview($courseID) { $elearning_course_id = elearning_mediathek::get_elearning_unit_id($courseID); $customer_id = $this->dataAccess->getObjectName($_SESSION["CURRENT_CUSTOMER_ID"]); $courseData = $this->dataAccess->getCourseData($courseID); //$numberOfLicenses = (int) $this->dataAccess->getCountCourseLicenses($courseID); $numberOfLicenses = licensemanager::get_instance()->get_registered_license_seats(array(new elearning_context($elearning_course_id), new unternehmens_context($customer_id))); $participants = $this->dataAccess->getCourseParticipants($courseID); //$remainingLicenses = $numberOfLicenses - count($participants); $remainingLicenses = licensemanager::get_instance()->get_available_license_seats(array(new elearning_context($elearning_course_id), new unternehmens_context($customer_id))); //$html = "<tr style=\"cursor:pointer;\" onclick=\"submitForm(this)\" courseID=\"" . $courseID . "\">\n"; $html = "<tr courseID=\"" . $courseID . "\">\n"; // The "name/info" column $html .= "\t<td><b>»" . $courseData["name"] . "« (" . $courseData["course_id"] . ")</b><br>" . $courseData["shortDesc"] . "</td>\n"; // The "remaining licenses" column $html .= "\t<td align=\"center\">" . $remainingLicenses . " / " . $numberOfLicenses . "</td>\n"; $html .= "</tr>\n"; return $html; }
public function execute(Request $request, Response $response) { $this->commandHelper = new CommandHelper(); $customerID = $request->getParameter("customerID"); // The id of the course, the new created user will be added to $courseID = $request->getParameter("courseID"); if ($request->getParameter("courseID") != "0") { $elearning_course_id = elearning_mediathek::get_elearning_unit_id($courseID); $customer_name = $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->getObjectName($customerID); $numberOfLicenses = licensemanager::get_instance()->get_registered_license_seats(array(new elearning_context($elearning_course_id), new unternehmens_context($customer_name))); $remainingLicenses = licensemanager::get_instance()->get_available_license_seats(array(new elearning_context($elearning_course_id), new unternehmens_context($customer_name))); $remainingLicensesBak = $remainingLicenses; } $xlsFilePath = PATH_TEMP . $_FILES["csvFile"]["name"]; move_uploaded_file($_FILES["csvFile"]["tmp_name"], $xlsFilePath); // Get wrapper object for xls file $PHPExcelWrapper = PHPExcel_IOFactory::load($xlsFilePath); // Get the first spreadsheet of xls file $spreadsheet = $PHPExcelWrapper->getSheet(); // Iterates over rows $rowIterator = $spreadsheet->getRowIterator(); // Counts the number of created users $newUserCounter = 0; $xmlContent = "<users>\n"; while ($rowIterator->valid()) { // Get current row $row = $rowIterator->current(); // Iterates over cells $cellIterator = $row->getCellIterator(); // Data for new user $firstname = ""; $lastname = ""; $email = ""; $branchID = ""; $password = $this->commandHelper->createRandomPassword(8); while ($cellIterator->valid()) { // Get current cell $cell = $cellIterator->current(); $colIndex = $cell->getColumn(); $rowIndex = $cell->getRow(); $value = $cell->getValue(); switch ($colIndex) { case "A": $firstname = $this->fixEncoding($value); break; case "B": $lastname = $this->fixEncoding($value); break; case "C": $email = $this->fixEncoding($value); break; case "D": $branchID = $this->fixEncoding($value); break; } $cellIterator->next(); } if ($firstname != "" || $lastname != "") { // create new user $login = $this->commandHelper->createValidLogin($firstname, $lastname); try { $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->createEmployee($login, $password, $email, $firstname, $lastname, "", $customerID); $creationState = "ok"; $newUserCounter++; } catch (Exception $exception) { $creationState = "fail"; } $xmlContent .= "\t<user firstname=\"" . $firstname . "\" lastname=\"" . $lastname . "\" login=\"" . $login . "\" password=\"" . $password . "\" state=\"" . $creationState . "\" />\n"; // Add new user to course, if a course was selected if ($creationState == "ok" && $request->getParameter("courseID") != "0") { if ($remainingLicenses > 0) { $elearning_course_id = elearning_mediathek::get_elearning_unit_id($courseID); $customer_name = $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->getObjectName($customerID); $userID = $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->login2ID($login); licensemanager::get_instance()->register_user($userID, array(new elearning_context($elearning_course_id), new unternehmens_context($customer_name))); $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->addParticipant($userID, $courseID); $remainingLicenses--; } } } $rowIterator->next(); } $xmlContent .= "</users>"; $xmlFileName = time() . ".xml"; $GLOBALS["USERMANAGEMENT_DATA_ACCESS"]->saveCustomerCreationLogFile($_SESSION["CURRENT_CUSTOMER_ID"], $xmlFileName, $xmlContent); // Throw exception, if to less licenses were available if ($request->getParameter("courseID") != "0" && $remainingLicensesBak < $newUserCounter) { throw new UsermanagementException("Aufgrund zu weniger freier Lizenzen konnten nicht alle angelegten Benutzer dem Kurs hinzugefügt werden.", "Erweitern sie ihr Lizenz-Kontingent."); } return "Excel-Liste wurde importiert. Siehe unter 'Verlauf' für Einzelheiten der angelegten Benutzer."; }