本文整理汇总了PHP中Course::getInstance方法的典型用法代码示例。如果您正苦于以下问题:PHP Course::getInstance方法的具体用法?PHP Course::getInstance怎么用?PHP Course::getInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Course
的用法示例。
在下文中一共展示了Course::getInstance方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
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)) {
//.........这里部分代码省略.........
示例2: execute
//.........这里部分代码省略.........
}
}
}
}
$cache = get_cache_function("ORGANIZATION");
$cache->drop("lms_steam::semester_get_courses", $current_semester->get_id());
header("Location: " . PATH_URL . "semester/index" . "/" . $current_semester->get_name() . "/" . $new_course->get_name() . "/");
exit;
}
}
}
}
if (!empty($problems)) {
$frameResponseObject->setConfirmText($problems, $hints);
//$portal->set_problem_description( $problems, $hints );
}
}
if (!empty($_GET["lsf_course_id"])) {
$lsf_client = new hislsf_soap();
$course_infos = $lsf_client->get_course_information(SYNC_HISLSF_SEMESTER, $_GET["lsf_course_id"]);
if (empty($course_infos) && empty($problems)) {
$frameResponseObject->setConfirmText(gettext("Error getting course data from HIS/LSF."));
//$portal->set_problem_description(gettext("Error getting course data from HIS/LSF.") );
} else {
if (empty($course_infos["course_dsc"])) {
$course_infos["course_dsc"] = "keine Beschreibung vorhanden.";
} else {
$course_infos["course_dsc"] = unhtmlentities($course_infos["course_dsc"]);
}
$values = array("lsf_id" => $course_infos["course_lsf_id"], "id" => $course_infos["course_id"], "name" => $course_infos["course_name"], "tutors" => $course_infos["course_tutors"], "short_dsc" => $course_infos["course_type"], "long_dsc" => $course_infos["course_dsc"]);
}
$_SESSION["LSF_COURSE_INFO"] = "";
}
$content = \Course::getInstance()->loadTemplate("courses_create.template.html");
//$content = new HTML_TEMPLATE_IT();
//$content->loadTemplateFile( PATH_TEMPLATES . "courses_create.template.html" );
$content->setVariable("FORM_ACTION", PATH_URL . "course/create" . "/" . $current_semester->get_name() . "/");
$content->setVariable("VALUE_SEMESTER", h($current_semester->get_name()));
//$content->setVariable( "INFO_TEXT", gettext( "Creating a course means..." ) );
$content->setVariable("CONFIRMATION_TEXT", str_replace("%SEMESTER", h($current_semester->get_attribute("OBJ_DESC")), gettext("You are going to create a new course in <b>%SEMESTER</b>.")) . " " . gettext("Please fill out the requested meta data at first.") . " " . gettext("At the bottom, you can determine the manner of participant management.") . " " . gettext("Also you can add further course admins later on."));
$content->setVariable("LABEL_GENERAL_INFORMATION", gettext("General Information"));
$content->setVariable("LABEL_COURSE_ID", gettext("Course ID"));
$content->setVariable("VALUE_COURSE_ID", isset($values) ? h($values["id"]) : '');
$content->setVariable("LABEL_COURSE_NAME", gettext("Name"));
$content->setVariable("VALUE_COURSE_NAME", isset($values) ? h($values["name"]) : '');
$content->setVariable("LABEL_COURSE_SHORT_INFORMATION", gettext("Short Info"));
$content->setVariable("VALUE_SHORT_DSC", isset($values) ? h($values["short_dsc"]) : '');
$content->setVariable("SHORT_DSC_SHOW_UP", gettext("This value will show up in the semester's courses list beside id, name and staff members."));
$content->setVariable("LABEL_COURSE_TUTORS", gettext("Staff members"));
$content->setVariable("VALUE_TUTORS", isset($values) ? h($values["tutors"]) : '');
$content->setVariable("LABEL_LONG_DSC", gettext("Long description"));
$content->setVariable("LONG_DSC_SHOW_UP", gettext("This is for your course page. Please add information about schedule and locations at least."));
$content->setVariable("VALUE_LONG_DSC", isset($values) ? h($values["long_dsc"]) : '');
$content->setVariable("LABEL_BB_BOLD", gettext("B"));
$content->setVariable("HINT_BB_BOLD", gettext("boldface"));
$content->setVariable("LABEL_BB_ITALIC", gettext("I"));
$content->setVariable("HINT_BB_ITALIC", gettext("italic"));
$content->setVariable("LABEL_BB_UNDERLINE", gettext("U"));
$content->setVariable("HINT_BB_UNDERLINE", gettext("underline"));
$content->setVariable("LABEL_BB_STRIKETHROUGH", gettext("S"));
$content->setVariable("HINT_BB_STRIKETHROUGH", gettext("strikethrough"));
$content->setVariable("LABEL_BB_IMAGE", gettext("IMG"));
$content->setVariable("HINT_BB_IMAGE", gettext("image"));
$content->setVariable("LABEL_BB_URL", gettext("URL"));
$content->setVariable("HINT_BB_URL", gettext("web link"));
$content->setVariable("LABEL_BB_MAIL", gettext("MAIL"));
示例3: execute
//.........这里部分代码省略.........
}
} elseif (isset($_POST["get_paul_course_data"])) {
//at this time only the course name and short description are updated/changed
$paul_client = new \paul_soap();
$paul_course_id = h($group->get_attribute(OBJ_NAME));
try {
$paul_course_info = $paul_client->get_course_information($paul_course_id);
} catch (Exception $exception) {
$problem = $exception->getMessage();
error_log($problem);
throw new Exception("PAUL_SOAP exception: " . $problem);
}
//the same as in the following else-block
$values = $group->get_attributes(array("OBJ_NAME", "OBJ_DESC", "COURSE_TUTORS", "COURSE_SHORT_DSC", "COURSE_LONG_DSC"));
$ms = $group->get_group_learners()->get_attribute(GROUP_MAXSIZE);
if ($ms === 0) {
$values["maxsize"] = "";
} else {
$values["maxsize"] = $ms;
}
$values["OBJ_DESC"] = $paul_course_info["course_name_german"];
$values["COURSE_SHORT_DSC"] = $paul_course_info["short_description"];
//$portal->set_confirmation("test");
//print_r($paul_course_values);
} else {
$values = $group->get_attributes(array("OBJ_NAME", "OBJ_DESC", "COURSE_TUTORS", "COURSE_SHORT_DSC", "COURSE_LONG_DSC"));
$ms = $group->get_group_learners()->get_attribute(GROUP_MAXSIZE);
if ($ms === 0) {
$values["maxsize"] = "";
} else {
$values["maxsize"] = $ms;
}
}
$content = \Course::getInstance()->loadTemplate("courses_edit.template.html");
//$content = new HTML_TEMPLATE_IT();
//$content->loadTemplateFile( PATH_TEMPLATES . "courses_edit.template.html" );
$content->setVariable("LABEL_EDIT_COURSE_DESCRIPTION", gettext("Course Preferences"));
$course_name = $group->get_attribute(OBJ_NAME);
$course_number = $group->get_attribute("COURSE_NUMBER");
$course_name = \koala_group_course::convert_course_id($course_name, $course_number);
if (\koala_group_course::is_paul_course($course_number) && \lms_steam::is_koala_admin($user)) {
$content->setVariable("VALUE_PAUL_ID", " (" . gettext("PAUL-ID: " . h($group->get_attribute(OBJ_NAME))) . ")");
$content->setVariable("ACTION_PAUL_COURSE_DATA", "<input type=\"submit\" name=\"get_paul_course_data\" id=\"get_paul_course_data\" title=\"" . gettext("Get the course name and short description from PAUL") . "\" value=\"" . gettext("Get PAUL course data") . "\">");
}
$content->setVariable("LABEL_COURSE_ID", gettext("Course ID"));
$content->setVariable("VALUE_COURSE_ID", h($course_name));
$content->setVariable("LABEL_COURSE_NAME", gettext("Name"));
$content->setVariable("VALUE_COURSE_NAME", h($values["OBJ_DESC"]));
$content->setVariable("LABEL_COURSE_SHORT_INFORMATION", gettext("Short Info"));
$content->setVariable("VALUE_SHORT_DSC", h($values["COURSE_SHORT_DSC"]));
$content->setVariable("SHORT_DSC_SHOW_UP", gettext("This value will show up in the semester's courses list beside id, name and staff members."));
$content->setVariable("LABEL_COURSE_TUTORS", gettext("Staff members"));
$content->setVariable("VALUE_TUTORS", h($values["COURSE_TUTORS"]));
$content->setVariable("LABEL_LONG_DSC", gettext("Long description"));
$content->setVariable("LONG_DSC_SHOW_UP", gettext("This is for your course page. Please add information about schedule and locations at least."));
$content->setVariable("VALUE_LONG_DSC", h($values["COURSE_LONG_DSC"]));
$content->setVariable("COURSE_SAVE", gettext("Save changes"));
$content->setVariable("AENDERN", gettext("Are you sure about your changes?"));
$content->setVariable("LABEL_BB_BOLD", gettext("B"));
$content->setVariable("HINT_BB_BOLD", gettext("boldface"));
$content->setVariable("LABEL_BB_ITALIC", gettext("I"));
$content->setVariable("HINT_BB_ITALIC", gettext("italic"));
$content->setVariable("LABEL_BB_UNDERLINE", gettext("U"));
$content->setVariable("HINT_BB_UNDERLINE", gettext("underline"));
$content->setVariable("LABEL_BB_STRIKETHROUGH", gettext("S"));
$content->setVariable("HINT_BB_STRIKETHROUGH", gettext("strikethrough"));
示例4: execute
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();
$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);
if (!$group instanceof \koala_group) {
throw new \Exception("Is not a koala_group: " . $group_id, E_PARAMETER);
}
switch (get_class($group)) {
case "koala_group_course":
$html_handler_group = new \koala_html_course($group);
$html_handler_group->set_context("communication");
break;
default:
$html_handler_group = new \koala_html_group($group);
$html_handler_group->set_context("communication");
break;
}
$content = \Course::getInstance()->loadTemplate("groups_communication.template.html");
//$content = new HTML_TEMPLATE_IT();
//$content->loadTemplateFile( PATH_TEMPLATES . "groups_communication.template.html" );
$workroom = $group->get_workroom();
$read_access = $workroom->check_access_read($user);
if (!$read_access) {
throw new Exception("No read access on container: id=" . $workroom->get_id(), E_USER_RIGHTS);
}
$cache = get_cache_function(\lms_steam::get_current_user()->get_name(), 600);
$communication_objects = $cache->call("lms_steam::get_group_communication_objects", $workroom->get_id(), CLASS_MESSAGEBOARD | CLASS_CALENDAR | CLASS_CONTAINER | CLASS_ROOM);
$forums = array();
$weblogs = array();
$wikis = array();
foreach ($communication_objects as $object) {
if ($object["OBJ_CLASS"] === "steam_messageboard") {
$forums[] = $object;
} else {
if ($object["OBJ_CLASS"] === "steam_calendar") {
$weblogs[] = $object;
} else {
if (($object["OBJ_CLASS"] === "steam_container" || $object["OBJ_CLASS"] === "steam_room") && ($object["OBJ_TYPE"] != null && ($object["OBJ_TYPE"] == "KOALA_WIKI" || $object["OBJ_TYPE"] == "container_wiki_koala"))) {
$wikis[] = $object;
}
}
}
}
$content->setVariable("LABEL_FORUMS", gettext("Discussion Boards"));
if (count($forums) > 0) {
$content->setCurrentBlock("BLOCK_FORUMS");
$content->setVariable("LABEL_FORUM_DESCRIPTION", gettext("Forum / description"));
$content->setVariable("LABEL_ARTICLES", gettext("Articles"));
$content->setVariable("LABEL_ACCESS", gettext("Access"));
$content->setVariable("LABEL_LAST_COMMENT", gettext("Last comment"));
$access_descriptions = \lms_forum::get_access_descriptions($group);
foreach ($forums as $forum) {
$cache = get_cache_function($forum["OBJ_ID"], 600);
$discussions = $cache->call("lms_forum::get_discussions", $forum["OBJ_ID"]);
$latest_post = isset($discussions[0]) ? $discussions[0] : FALSE;
$content->setCurrentBlock("BLOCK_FORUM");
$content->setVariable("NAME_FORUM", h($forum["OBJ_NAME"]));
$content->setVariable("LINK_FORUM", PATH_URL . "forums/" . $forum["OBJ_ID"] . "/");
$content->setVariable("OBJ_DESC", get_formatted_output($forum["OBJ_DESC"]));
$language = !empty($forum["FORUM_LANGUAGE"]) ? $forum["FORUM_LANGUAGE"] : "German";
$content->setVariable("VALUE_LANGUAGE", $language);
$access = "<span title=\"" . $access_descriptions[$forum["KOALA_ACCESS"]]["label"] . "\">" . $access_descriptions[$forum["KOALA_ACCESS"]]["summary_short"] . "</span>";
$content->setVariable("VALUE_ACCESS", $access);
$content->setVariable("VALUE_ARTICLES", count($discussions));
if ($latest_post) {
$content->setVariable("SUBJECT_LAST_COMMENT", h($latest_post["LATEST_POST_TITLE"]));
$content->setVariable("LINK_LAST_COMMENT", PATH_URL . "forums/" . $latest_post["OBJ_ID"] . "/");
$content->setVariable("POSTED_BY_LABEL", "(" . h($latest_post["LATEST_POST_AUTHOR"]) . ", " . how_long_ago($latest_post["LATEST_POST_TS"]) . ")");
} else {
$content->setVariable("POSTED_BY_LABEL", gettext("-"));
}
$content->parse("BLOCK_FORUM");
}
$content->parse("BLOCK_FORUMS");
} else {
$content->setVariable("LABEL_NO_FORUMS_FOUND", "<b>" . gettext("No forums available. Either no forums are created in this context, or you have no rights to read them.") . "</b>");
}
$content->setVariable("LABEL_WEBLOGS", gettext("Weblogs"));
if (count($weblogs) > 0) {
$content->setCurrentBlock("BLOCK_WEBLOGS");
$content->setVariable("LABEL_WEBLOG_DESCRIPTION", gettext("Weblog / description"));
$content->setVariable("LABEL_WEBLOG_ENTRIES", gettext("Entries"));
$content->setVariable("LABEL_WEBLOG_ACCESS", gettext("Access"));
$content->setVariable("LABEL_WEBLOG_LAST_ENTRY", gettext("Last entry"));
$access_descriptions = \lms_weblog::get_access_descriptions($group);
foreach ($weblogs as $weblog) {
$cache = get_cache_function($weblog["OBJ_ID"], 600);
$entries = $cache->call("lms_weblog::get_items", $weblog["OBJ_ID"]);
$last_entry = isset($entries[0]) ? $entries[0] : FALSE;
$content->setCurrentBlock("BLOCK_WEBLOG");
$content->setVariable("NAME_WEBLOG", h($weblog["OBJ_NAME"]));
$content->setVariable("LINK_WEBLOG", PATH_URL . "weblog/" . $weblog["OBJ_ID"] . "/");
$content->setVariable("WEBLOG_OBJ_DESC", get_formatted_output($weblog["OBJ_DESC"]));
$title = $access_descriptions[$weblog["KOALA_ACCESS"]]["label"];
//.........这里部分代码省略.........
示例5: session_cache_limiter
if (!isset($_SESSION)) {
session_cache_limiter(false);
session_start();
}
/**
* Initialize Cookie Security params
*/
$cookiesSettings = array('cookies.secret_key' => 'edupol', 'cookies.cipher' => MCRYPT_RIJNDAEL_256, 'cookies.cipher_mode' => MCRYPT_MODE_CBC);
$app = new Slim($cookiesSettings);
$app->contentType('application/json');
$rank = Rank::getInstance();
$division = Division::getInstance();
$address = Address::getInstance();
$position = Position::getInstance();
$examstore = ExamStore::getInstance();
$course = Course::getInstance();
$examAssignment = ExamAssignment::getInstance();
$app->get('/ranks', array($rank, 'getRanks'));
$app->get('/positions', array($position, 'getPositions'));
$app->get('/division/belongto', array($division, 'getBelongto'));
$app->get('/divisions', array($division, 'getDivisions'));
$app->post('/division/mapping', array($division, 'saveMapping'));
$app->get('/squads', array($address, 'getSquad'));
$app->get('/sections', array($address, 'getSection'));
$app->get('/provinces', array($address, 'getProvinces'));
$app->get('/provinces/:id', array($address, 'getProvincesByDivisionID'));
$app->get('/districts/:id', array($address, 'getDistrictsByID'));
$app->get('/subdistricts/:id', array($address, 'getSubDistrictsByID'));
$app->get('/examstore/history', array($examstore, 'getListOfExams'));
$app->post('/examstore/authen', array($examstore, 'authen'));
$app->post('/examstore/login', array($examstore, 'login'));
示例6: execute
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++;
}
}
//.........这里部分代码省略.........
示例7: execute
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]);
$course = new \koala_group_course($group_course);
//$html_handler_course = new \koala_html_course($course);
$group = $course;
/*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);
$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());
}
}
$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 = \Course::getInstance()->loadTemplate("list_users.template.html");
//$content = new HTML_TEMPLATE_IT();
//$content->loadTemplateFile( PATH_TEMPLATES . "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 ***";
$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) {
$pageIterator = \lms_portal::get_paginator(10, $no_members, "(" . str_replace("%NAME", h($groupname), 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($groupname), gettext( "%TOTAL members in %NAME" ) ) . ")" );
$end = $start + 10 > $no_members ? $no_members : $start + 10;
$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);
//TODO: identify get_filter_html
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");
//.........这里部分代码省略.........