Class ilObjiLincCourseGUI. More...
Inheritance diagram for ilObjiLincCourseGUI:
Collaboration diagram for ilObjiLincCourseGUI:Public Member Functions | |
| ilObjiLincCourseGUI ($a_data, $a_id, $a_call_by_reference, $a_prepare_output=false) | |
| Constructor public. | |
| createObject () | |
| create new object form | |
| updateObject () | |
| updates object entry in object_data | |
| saveObject () | |
| save object public | |
| getTabs (&$tabs_gui) | |
| get tabs public | |
| __unsetSessionVariables () | |
| __search ($a_search_string, $a_search_for) | |
| __showSearchUserTable ($a_result_set, $a_user_ids=NULL, $a_cmd="search") | |
| __showSearchRoleTable ($a_result_set, $a_role_ids=NULL) | |
| __showSearchGroupTable ($a_result_set, $a_grp_ids=NULL) | |
| __showMembersTable ($a_result_set, $a_user_ids=NULL) | |
| & | __initTableGUI () |
| __setTableGUIBasicData (&$tbl, &$result_set, $from="") | |
| standard implementation for tables use 'from' variable use different initial setting of table | |
| listUsersRoleObject () | |
| listUsersGroupObject () | |
| canceledObject () | |
| canceledObject is called when an operation is canceled, method links back public | |
| cancelMemberObject () | |
| canceledObject is called when operation is canceled, method links back public | |
| membersObject () | |
| display group members | |
| & | executeCommand () |
| execute command note: this method is overwritten in all container objects | |
| viewObject () | |
| list childs of current object | |
| getSubItems () | |
| get all subitems of the container overwrites method in ilContainerGUI | |
| renderItemList ($a_type="all") | |
| overwrites method in ilContainerGUI | |
| agendaObject () | |
| searchUserFormObject () | |
| searchObject () | |
| addUserObject () | |
| displays confirmation formular with users that shall be assigned to group public | |
| removeMemberObject () | |
| displays confirmation formular with users that shall be removed from group public | |
| confirmationObject ($user_id="", $confirm, $cancel, $info="", $status="", $a_cmd_return_location="") | |
| displays confirmation form public | |
| confirmedRemoveMemberObject () | |
| remove members from group TODO: set return location to parent object if user removes himself TODO: allow user to remove himself when he is not group admin public | |
| changeMemberObject () | |
| displays form in which the member-status can be changed public | |
| updateMemberStatusObject () | |
| displays form in which the member-status can be changed public | |
| editObject () | |
| edit object | |
| displayEditForm ($fields, $akclassvalues) | |
| display edit form (usually called by editObject) | |
| joinObject () | |
| isActiveAdministrationPanel () | |
| __setSubTabs ($a_tab) | |
| set sub tabs | |
| mailMembersObject () | |
| membersGalleryObject () | |
| Builds a learnlink seminar members gallery as a layer of left-floating images. | |
| showProfileObject () | |
Class ilObjiLincCourseGUI.
ilObjiLincCourseGUI: ilObjiLincClassroomGUI, ilPermissionGUI, ilInfoScreenGUI, ilRepositorySearchGUI, ilObjUserGUI
Definition at line 39 of file class.ilObjiLincCourseGUI.php.
| & ilObjiLincCourseGUI::__initTableGUI | ( | ) |
Reimplemented from ilObjectGUI.
Definition at line 639 of file class.ilObjiLincCourseGUI.php.
Referenced by __showMembersTable(), __showSearchGroupTable(), __showSearchRoleTable(), and __showSearchUserTable().
{
include_once "./Services/Table/classes/class.ilTableGUI.php";
return new ilTableGUI(0,false);
}
Here is the caller graph for this function:| ilObjiLincCourseGUI::__search | ( | $ | a_search_string, | |
| $ | a_search_for | |||
| ) |
Definition at line 356 of file class.ilObjiLincCourseGUI.php.
References $_SESSION, ilUtil::sendInfo(), and ilUtil::stripSlashes().
Referenced by searchObject().
{
include_once("classes/class.ilSearch.php");
$this->lng->loadLanguageModule("content");
$search =& new ilSearch($_SESSION["AccountId"]);
$search->setPerformUpdate(false);
$search->setSearchString(ilUtil::stripSlashes($a_search_string));
$search->setCombination("and");
$search->setSearchFor(array(0 => $a_search_for));
$search->setSearchType('new');
if($search->validate($message))
{
$search->performSearch();
}
else
{
ilUtil::sendInfo($message,true);
$this->ctrl->redirect($this,"searchUserForm");
}
return $search->getResultByType($a_search_for);
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjiLincCourseGUI::__setSubTabs | ( | $ | a_tab | ) |
set sub tabs
Definition at line 1946 of file class.ilObjiLincCourseGUI.php.
Referenced by executeCommand(), mailMembersObject(), membersGalleryObject(), membersObject(), and showProfileObject().
{
global $rbacsystem,$ilUser;
switch ($a_tab)
{
case 'members':
//$this->tabs_gui->addSubTabTarget("ilinc_member_administration",
$this->tabs_gui->addSubTabTarget("members",
$this->ctrl->getLinkTarget($this,'members'),
"members", get_class($this));
$this->tabs_gui->addSubTabTarget("icrs_members_gallery",
$this->ctrl->getLinkTarget($this,'membersGallery'),
"membersGallery", get_class($this));
$this->tabs_gui->addSubTabTarget("mail_members",
$this->ctrl->getLinkTarget($this,'mailMembers'),
"mailMembers", get_class($this));
break;
}
}
Here is the caller graph for this function:| ilObjiLincCourseGUI::__setTableGUIBasicData | ( | &$ | tbl, | |
| &$ | result_set, | |||
| $ | a_from = "" | |||
| ) |
standard implementation for tables use 'from' variable use different initial setting of table
Reimplemented from ilObjectGUI.
Definition at line 646 of file class.ilObjiLincCourseGUI.php.
Referenced by __showMembersTable(), __showSearchGroupTable(), __showSearchRoleTable(), and __showSearchUserTable().
{
switch($from)
{
case "subscribers":
$offset = $_GET["update_subscribers"] ? $_GET["offset"] : 0;
$order = $_GET["update_subscribers"] ? $_GET["sort_by"] : 'login';
$direction = $_GET["update_subscribers"] ? $_GET["sort_order"] : '';
break;
case "group":
$offset = $_GET["offset"];
$order = $_GET["sort_by"] ? $_GET["sort_by"] : "title";
$direction = $_GET["sort_order"];
break;
case "role":
$offset = $_GET["offset"];
$order = $_GET["sort_by"] ? $_GET["sort_by"] : "title";
$direction = $_GET["sort_order"];
break;
default:
$offset = $_GET["offset"];
// init sort_by (unfortunatly sort_by is preset with 'title'
if ($_GET["sort_by"] == "title" or empty($_GET["sort_by"]))
{
$_GET["sort_by"] = "login";
}
$order = $_GET["sort_by"];
$direction = $_GET["sort_order"];
break;
}
$tbl->setOrderColumn($order);
$tbl->setOrderDirection($direction);
$tbl->setOffset($offset);
$tbl->setLimit($_GET["limit"]);
//$tbl->setMaxCount(count($result_set));
$tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
$tbl->setData($result_set);
}
Here is the caller graph for this function:| ilObjiLincCourseGUI::__showMembersTable | ( | $ | a_result_set, | |
| $ | a_user_ids = NULL | |||
| ) |
Definition at line 566 of file class.ilObjiLincCourseGUI.php.
References ilObjectGUI::$actions, $ilBench, $tbl, ilObjectGUI::$tpl, __initTableGUI(), __setTableGUIBasicData(), ilUtil::array_php2js(), and ilUtil::getImagePath().
Referenced by membersObject().
{
global $rbacsystem,$ilBench;
$actions = array("RemoveMember" => $this->lng->txt("remove"),"changeMember" => $this->lng->txt("change"));
$tbl =& $this->__initTableGUI();
$tpl =& $tbl->getTemplateObject();
$tpl->setCurrentBlock("tbl_form_header");
$tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("tbl_action_row");
//INTERIMS:quite a circumstantial way to show the list on rolebased accessrights
if ($rbacsystem->checkAccess("write",$this->object->getRefId()))
{
$tpl->setVariable("COLUMN_COUNTS",7);
$tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.gif"));
foreach ($actions as $name => $value)
{
$tpl->setCurrentBlock("tbl_action_btn");
$tpl->setVariable("BTN_NAME",$name);
$tpl->setVariable("BTN_VALUE",$value);
$tpl->parseCurrentBlock();
}
if (!empty($a_user_ids))
{
// set checkbox toggles
$tpl->setCurrentBlock("tbl_action_toggle_checkboxes");
$tpl->setVariable("JS_VARNAME","user_id");
$tpl->setVariable("JS_ONCLICK",ilUtil::array_php2js($a_user_ids));
$tpl->setVariable("TXT_CHECKALL", $this->lng->txt("check_all"));
$tpl->setVariable("TXT_UNCHECKALL", $this->lng->txt("uncheck_all"));
$tpl->parseCurrentBlock();
}
$tpl->setVariable("TPLPATH",$this->tpl->tplPath);
}
$this->ctrl->setParameter($this,"cmd","members");
// title & header columns
$tbl->setTitle($this->lng->txt("ilinc_involved_users"),"icon_usr_b.gif",$this->lng->txt("ilinc_involved_users"));
//INTERIMS:quite a circumstantial way to show the list on rolebased accessrights
if ($rbacsystem->checkAccess("write",$this->object->getRefId()))
{
//user must be administrator
$tbl->setHeaderNames(array("",$this->lng->txt("username"),$this->lng->txt("firstname"),$this->lng->txt("lastname"),$this->lng->txt("ilinc_coursemember_status"),$this->lng->txt("role"),$this->lng->txt("grp_options")));
$tbl->setHeaderVars(array("","login","firstname","lastname","ilinc_coursemember_status","role","functions"),$this->ctrl->getParameterArray($this,"",false));
$tbl->setColumnWidth(array("","20%","15%","15%","20%","20%","10%"));
}
else
{
//user must be member
$tbl->setHeaderNames(array($this->lng->txt("username"),$this->lng->txt("firstname"),$this->lng->txt("lastname"),$this->lng->txt("ilinc_coursemember_status"),$this->lng->txt("role"),$this->lng->txt("grp_options")));
$tbl->setHeaderVars(array("login","firstname","lastname","ilinc_coursemember_status","role","functions"),$this->ctrl->getParameterArray($this,"",false));
$tbl->setColumnWidth(array("20%","15%","15%","20%","20%","10%"));
}
$this->__setTableGUIBasicData($tbl,$a_result_set,"members");
$tbl->render();
$this->tpl->setVariable("MEMBER_TABLE",$tbl->tpl->get());
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjiLincCourseGUI::__showSearchGroupTable | ( | $ | a_result_set, | |
| $ | a_grp_ids = NULL | |||
| ) |
Definition at line 508 of file class.ilObjiLincCourseGUI.php.
References $_GET, $tbl, ilObjectGUI::$tpl, __initTableGUI(), __setTableGUIBasicData(), ilUtil::array_php2js(), and ilUtil::getImagePath().
Referenced by searchObject().
{
$tbl =& $this->__initTableGUI();
$tpl =& $tbl->getTemplateObject();
$tpl->setCurrentBlock("tbl_form_header");
$tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("tbl_action_btn");
$tpl->setVariable("BTN_NAME","searchUserForm");
$tpl->setVariable("BTN_VALUE",$this->lng->txt("back"));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("tbl_action_btn");
$tpl->setVariable("BTN_NAME","listUsersGroup");
$tpl->setVariable("BTN_VALUE",$this->lng->txt("grp_list_users"));
$tpl->parseCurrentBlock();
if (!empty($a_grp_ids))
{
// set checkbox toggles
$tpl->setCurrentBlock("tbl_action_toggle_checkboxes");
$tpl->setVariable("JS_VARNAME","group");
$tpl->setVariable("JS_ONCLICK",ilUtil::array_php2js($a_grp_ids));
$tpl->setVariable("TXT_CHECKALL", $this->lng->txt("check_all"));
$tpl->setVariable("TXT_UNCHECKALL", $this->lng->txt("uncheck_all"));
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock("tbl_action_row");
$tpl->setVariable("COLUMN_COUNTS",5);
$tpl->setVariable("IMG_ARROW",ilUtil::getImagePath("arrow_downright.gif"));
$tpl->parseCurrentBlock();
$tbl->setTitle($this->lng->txt("ilinc_header_edit_users"),"icon_usr_b.gif",$this->lng->txt("ilinc_header_edit_users"));
$tbl->setHeaderNames(array("",
$this->lng->txt("obj_grp"),
$this->lng->txt("grp_count_members")));
$tbl->setHeaderVars(array("",
"title",
"nr_members"),
array("ref_id" => $this->object->getRefId(),
"cmd" => "search",
"cmdClass" => "ilobjilinccoursegui",
"cmdNode" => $_GET["cmdNode"]));
$tbl->setColumnWidth(array("","80%","19%"));
$this->__setTableGUIBasicData($tbl,$a_result_set,"group");
$tbl->render();
$this->tpl->setVariable("SEARCH_RESULT_TABLE",$tbl->tpl->get());
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjiLincCourseGUI::__showSearchRoleTable | ( | $ | a_result_set, | |
| $ | a_role_ids = NULL | |||
| ) |
Definition at line 450 of file class.ilObjiLincCourseGUI.php.
References $_GET, $tbl, ilObjectGUI::$tpl, __initTableGUI(), __setTableGUIBasicData(), ilUtil::array_php2js(), and ilUtil::getImagePath().
Referenced by searchObject().
{
$tbl =& $this->__initTableGUI();
$tpl =& $tbl->getTemplateObject();
$tpl->setCurrentBlock("tbl_form_header");
$tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("tbl_action_btn");
$tpl->setVariable("BTN_NAME","searchUserForm");
$tpl->setVariable("BTN_VALUE",$this->lng->txt("back"));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("tbl_action_btn");
$tpl->setVariable("BTN_NAME","listUsersRole");
$tpl->setVariable("BTN_VALUE",$this->lng->txt("grp_list_users"));
$tpl->parseCurrentBlock();
if (!empty($a_role_ids))
{
// set checkbox toggles
$tpl->setCurrentBlock("tbl_action_toggle_checkboxes");
$tpl->setVariable("JS_VARNAME","role");
$tpl->setVariable("JS_ONCLICK",ilUtil::array_php2js($a_role_ids));
$tpl->setVariable("TXT_CHECKALL", $this->lng->txt("check_all"));
$tpl->setVariable("TXT_UNCHECKALL", $this->lng->txt("uncheck_all"));
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock("tbl_action_row");
$tpl->setVariable("COLUMN_COUNTS",5);
$tpl->setVariable("IMG_ARROW",ilUtil::getImagePath("arrow_downright.gif"));
$tpl->parseCurrentBlock();
$tbl->setTitle($this->lng->txt("ilinc_header_edit_users"),"icon_usr_b.gif",$this->lng->txt("ilinc_header_edit_users"));
$tbl->setHeaderNames(array("",
$this->lng->txt("obj_role"),
$this->lng->txt("grp_count_members")));
$tbl->setHeaderVars(array("",
"title",
"nr_members"),
array("ref_id" => $this->object->getRefId(),
"cmd" => "search",
"cmdClass" => "ilobjilincoursegui",
"cmdNode" => $_GET["cmdNode"]));
$tbl->setColumnWidth(array("","80%","19%"));
$this->__setTableGUIBasicData($tbl,$a_result_set,"role");
$tbl->render();
$this->tpl->setVariable("SEARCH_RESULT_TABLE",$tbl->tpl->get());
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjiLincCourseGUI::__showSearchUserTable | ( | $ | a_result_set, | |
| $ | a_user_ids = NULL, |
|||
| $ | a_cmd = "search" | |||
| ) |
Definition at line 381 of file class.ilObjiLincCourseGUI.php.
References $_GET, $tbl, ilObjectGUI::$tpl, __initTableGUI(), __setTableGUIBasicData(), ilUtil::array_php2js(), and ilUtil::getImagePath().
Referenced by listUsersGroupObject(), listUsersRoleObject(), and searchObject().
{
$return_to = "searchUserForm";
if ($a_cmd == "listUsersRole" or $a_cmd == "listUsersGroup")
{
$return_to = "search";
}
$tbl =& $this->__initTableGUI();
$tpl =& $tbl->getTemplateObject();
// SET FORMACTION
$tpl->setCurrentBlock("tbl_form_header");
$tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("tbl_action_btn");
$tpl->setVariable("BTN_NAME",$return_to);
$tpl->setVariable("BTN_VALUE",$this->lng->txt("back"));
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("tbl_action_btn");
$tpl->setVariable("BTN_NAME","addUser");
$tpl->setVariable("BTN_VALUE",$this->lng->txt("add"));
$tpl->parseCurrentBlock();
if (!empty($a_user_ids))
{
// set checkbox toggles
$tpl->setCurrentBlock("tbl_action_toggle_checkboxes");
$tpl->setVariable("JS_VARNAME","user");
$tpl->setVariable("JS_ONCLICK",ilUtil::array_php2js($a_user_ids));
$tpl->setVariable("TXT_CHECKALL", $this->lng->txt("check_all"));
$tpl->setVariable("TXT_UNCHECKALL", $this->lng->txt("uncheck_all"));
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock("tbl_action_row");
$tpl->setVariable("COLUMN_COUNTS",5);
$tpl->setVariable("IMG_ARROW",ilUtil::getImagePath("arrow_downright.gif"));
$tpl->parseCurrentBlock();
$tbl->setTitle($this->lng->txt("ilinc_header_edit_users"),"icon_usr_b.gif",$this->lng->txt("ilinc_header_edit_users"));
$tbl->setHeaderNames(array("",
$this->lng->txt("username"),
$this->lng->txt("firstname"),
$this->lng->txt("lastname"),
$this->lng->txt("last_visit")));
$tbl->setHeaderVars(array("",
"login",
"firstname",
"lastname",
"last_visit"),
array("ref_id" => $this->object->getRefId(),
"cmd" => $a_cmd,
"cmdClass" => "ilobjilinccoursegui",
"cmdNode" => $_GET["cmdNode"]));
$tbl->setColumnWidth(array("","33%","33%","33%"));
$this->__setTableGUIBasicData($tbl,$a_result_set);
$tbl->render();
$this->tpl->setVariable("SEARCH_RESULT_TABLE",$tbl->tpl->get());
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjiLincCourseGUI::__unsetSessionVariables | ( | ) |
Definition at line 345 of file class.ilObjiLincCourseGUI.php.
References $_SESSION.
Referenced by searchUserFormObject().
{
unset($_SESSION["grp_delete_member_ids"]);
unset($_SESSION["grp_delete_subscriber_ids"]);
unset($_SESSION["grp_search_str"]);
unset($_SESSION["grp_search_for"]);
unset($_SESSION["grp_role"]);
unset($_SESSION["grp_group"]);
unset($_SESSION["grp_archives"]);
}
Here is the caller graph for this function:| ilObjiLincCourseGUI::addUserObject | ( | ) |
displays confirmation formular with users that shall be assigned to group public
Definition at line 1355 of file class.ilObjiLincCourseGUI.php.
References $_SESSION, ilUtil::redirect(), and ilUtil::sendInfo().
{
$user_ids = $_POST["user"];
$mail = new ilMail($_SESSION["AccountId"]);
if (empty($user_ids[0]))
{
// TODO: jumps back to grp content. go back to last search result
$this->ilErr->raiseError($this->lng->txt("no_checkbox"),$this->ilErr->MESSAGE);
}
foreach ($user_ids as $new_member)
{
$user_obj = $this->ilias->obj_factory->getInstanceByObjId($new_member);
if (!$this->object->addMember($user_obj,$this->object->getDefaultMemberRole(),false))
{
//var_dump($this->object->getErrorMsg());exit;
$this->ilErr->raiseError($this->object->getErrorMsg(),$this->ilErr->MESSAGE);
}
$user_obj->addDesktopItem($this->object->getRefId(),"icrs");
$mail->sendMail($user_obj->getLogin(),"","",$this->lng->txtlng("common","ilinc_mail_subj_new_subscription",$user_obj->getLanguage()).": ".$this->object->getTitle(),$this->lng->txtlng("common","ilinc_mail_body_new_subscription",$user_obj->getLanguage()),array(),array('normal'));
unset($user_obj);
}
//echo "end";exit;
unset($_SESSION["saved_post"]);
ilUtil::sendInfo($this->lng->txt("ilinc_msg_member_assigned"),true);
ilUtil::redirect($this->ctrl->getLinkTarget($this,"members"));
}
Here is the call graph for this function:| ilObjiLincCourseGUI::agendaObject | ( | ) |
Definition at line 1165 of file class.ilObjiLincCourseGUI.php.
References ilUtil::redirect().
{
// user login
$url = $this->object->userLogin($this->ilias->account);
if (!$url)
{
$this->ilias->raiseError($this->object->getErrorMsg(),$this->ilias->error_obj->FATAL);
}
ilUtil::redirect(trim($url));
}
Here is the call graph for this function:| ilObjiLincCourseGUI::canceledObject | ( | ) |
canceledObject is called when an operation is canceled, method links back public
Definition at line 820 of file class.ilObjiLincCourseGUI.php.
References $_GET, ilObjectGUI::$return_location, and ilUtil::sendInfo().
{
$return_location = $_GET["cmd_return_location"];
if (strcmp($return_location, "") == 0)
{
$return_location = "members";
}
ilUtil::sendInfo($this->lng->txt("action_aborted"),true);
$this->ctrl->redirect($this, $return_location);
}
Here is the call graph for this function:| ilObjiLincCourseGUI::cancelMemberObject | ( | ) |
canceledObject is called when operation is canceled, method links back public
Definition at line 836 of file class.ilObjiLincCourseGUI.php.
References ilObjectGUI::$return_location, ilUtil::redirect(), and ilUtil::sendInfo().
{
$return_location = "members";
ilUtil::sendInfo($this->lng->txt("action_aborted"),true);
ilUtil::redirect($this->ctrl->getLinkTarget($this,$return_location));
}
Here is the call graph for this function:| ilObjiLincCourseGUI::changeMemberObject | ( | ) |
displays form in which the member-status can be changed public
Definition at line 1597 of file class.ilObjiLincCourseGUI.php.
References $_GET, $tbl, ilUtil::formRadioButton(), formSelect(), ilUtil::getImagePath(), ilUtil::infoPanel(), and ilUtil::sortArray().
{
global $rbacreview,$ilUser;
if ($_GET["sort_by"] == "title" or $_GET["sort_by"] == "")
{
$_GET["sort_by"] = "login";
}
$member_ids = array();
if (isset($_POST["user_id"]))
{
$member_ids = $_POST["user_id"];
}
else if (isset($_GET["mem_id"]))
{
$member_ids[0] = $_GET["mem_id"];
}
if (empty($member_ids[0]))
{
$this->ilErr->raiseError($this->lng->txt("no_checkbox"),$this->ilErr->MESSAGE);
}
if (!in_array(SYSTEM_ROLE_ID,$rbacreview->assignedRoles($ilUser->getId()))
and !in_array($this->ilias->account->getId(),$this->object->getAdminIds()))
{
$this->ilErr->raiseError($this->lng->txt("grp_err_no_permission"),$this->ilErr->MESSAGE);
}
$stati = array_flip($this->object->getLocalRoles(true));
// fetch docent or student assignment form all coursemembers from iLinc server
$docent_ids = $this->object->getiLincMemberIds(true);
$student_ids = $this->object->getiLincMemberIds(false);
//build data structure
foreach ($member_ids as $member_id)
{
$member =& $this->ilias->obj_factory->getInstanceByObjId($member_id);
$mem_status = $this->object->getMemberRoles($member_id);
include_once ('class.ilObjiLincUser.php');
$ilinc_user = new ilObjiLincUser($member);
$ilinc_status = $this->object->checkiLincMemberStatus($ilinc_user->id,$docent_ids,$student_ids);
$docent = 0; $student = 0;
if ($ilinc_status == ILINC_MEMBER_DOCENT)
{
$docent = 1;
}
elseif ($ilinc_status == ILINC_MEMBER_STUDENT)
{
$student = 1;
}
$radio1 = ilUtil::formRadioButton($docent,"ilinc_member_status_select[".$member->getId()."][".$ilinc_user->id."]",ILINC_MEMBER_DOCENT);
$radio2 = ilUtil::formRadioButton($student,"ilinc_member_status_select[".$member->getId()."][".$ilinc_user->id."]",ILINC_MEMBER_STUDENT);
$this->data["data"][$member->getId()]= array(
"login" => $member->getLogin(),
"firstname" => $member->getFirstname(),
"lastname" => $member->getLastname(),
"ilinc_coursemember_status" => $radio1." ".$this->lng->txt("ilinc_docent")."<br/>".$radio2." ".$this->lng->txt("ilinc_student"),
"grp_role" => ilUtil::formSelect($mem_status,"member_status_select[".$member->getId()."][]",$stati,true,true,3)
);
}
unset($member);
unset($ilinc_user);
ilUtil::infoPanel();
$this->tpl->addBlockfile("ADM_CONTENT", "member_table", "tpl.table.html");
// load template for table content data
$this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
$this->data["buttons"] = array( "members" => $this->lng->txt("back"),
"updateMemberStatus" => $this->lng->txt("confirm"));
$this->tpl->setCurrentBlock("tbl_action_row");
$this->tpl->setVariable("COLUMN_COUNTS",5);
//$this->tpl->setVariable("TPLPATH",$this->tpl->tplPath);
$this->tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.gif"));
foreach ($this->data["buttons"] as $name => $value)
{
$this->tpl->setCurrentBlock("tbl_action_btn");
$this->tpl->setVariable("BTN_NAME",$name);
$this->tpl->setVariable("BTN_VALUE",$value);
$this->tpl->parseCurrentBlock();
}
//sort data array
$this->data["data"] = ilUtil::sortArray($this->data["data"], $_GET["sort_by"], $_GET["sort_order"]);
$output = array_slice($this->data["data"],$_GET["offset"],$_GET["limit"]);
// create table
include_once "./Services/Table/classes/class.ilTableGUI.php";
$tbl = new ilTableGUI($output);
// title & header columns
$tbl->setTitle($this->lng->txt("grp_mem_change_status"),"icon_usr_b.gif",$this->lng->txt("grp_mem_change_status"));
//$tbl->setHelp("tbl_help.php","icon_help.gif",$this->lng->txt("help"));
$tbl->setHeaderNames(array($this->lng->txt("username"),$this->lng->txt("firstname"),$this->lng->txt("lastname"),$this->lng->txt("ilinc_coursemember_status"),$this->lng->txt("role")));
$tbl->setHeaderVars(array("login","firstname","lastname","ilinc_coursemember_status","role"),$this->ctrl->getParameterArray($this,"",false));
$tbl->setColumnWidth(array("20%","15%","15%","15%","30%"));
$this->tpl->setCurrentBlock("tbl_action_row");
$this->tpl->parseCurrentBlock();
// control
$tbl->setOrderColumn($_GET["sort_by"]);
$tbl->setOrderDirection($_GET["sort_order"]);
$tbl->setLimit($_GET["limit"]);
$tbl->setOffset($_GET["offset"]);
$tbl->setMaxCount(count($this->data["data"]));
$tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next"));
// render table
$tbl->render();
}
Here is the call graph for this function:| ilObjiLincCourseGUI::confirmationObject | ( | $ | user_id = "", |
|
| $ | confirm, | |||
| $ | cancel, | |||
| $ | info = "", |
|||
| $ | status = "", |
|||
| $ | a_cmd_return_location = "" | |||
| ) |
displays confirmation form public
Definition at line 1438 of file class.ilObjiLincCourseGUI.php.
References $_SESSION, ilUtil::getImagePath(), ilUtil::getImageTagByType(), ilObjectGUI::getTemplateFile(), ilUtil::infoPanel(), ilUtil::sendInfo(), and ilUtil::switchColor().
Referenced by removeMemberObject().
{
$this->data["cols"] = array("type", "title", "description", "last_change");
if (is_array($user_id))
{
foreach ($user_id as $id)
{
$obj_data =& $this->ilias->obj_factory->getInstanceByObjId($id);
$this->data["data"]["$id"] = array(
"type" => $obj_data->getType(),
"title" => $obj_data->getTitle(),
"desc" => $obj_data->getDescription(),
"last_update" => $obj_data->getLastUpdateDate(),
);
}
}
else
{
$obj_data =& $this->ilias->obj_factory->getInstanceByObjId($user_id);
$this->data["data"]["$id"] = array(
"type" => $obj_data->getType(),
"title" => $obj_data->getTitle(),
"desc" => $obj_data->getDescription(),
"last_update" => $obj_data->getLastUpdateDate(),
);
}
//write in sessionvariables
if(is_array($user_id))
{
$_SESSION["saved_post"]["user_id"] = $user_id;
}
else
{
$_SESSION["saved_post"]["user_id"][0] = $user_id;
}
if (isset($status))
{
$_SESSION["saved_post"]["status"] = $status;
}
$this->data["buttons"] = array( $cancel => $this->lng->txt("cancel"),
$confirm => $this->lng->txt("confirm"));
$this->getTemplateFile("confirm");
$this->tpl->setVariable("TPLPATH",$this->tpl->tplPath);
ilUtil::infoPanel();
ilUtil::sendInfo($this->lng->txt($info));
$this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)."&cmd_return_location=".$a_cmd_return_location);
// BEGIN TABLE HEADER
foreach ($this->data["cols"] as $key)
{
$this->tpl->setCurrentBlock("table_header");
$this->tpl->setVariable("TEXT",$this->lng->txt($key));
$this->tpl->parseCurrentBlock();
}
// END TABLE HEADER
// BEGIN TABLE DATA
$counter = 0;
foreach ($this->data["data"] as $key => $value)
{
// BEGIN TABLE CELL
foreach ($value as $key => $cell_data)
{
$this->tpl->setCurrentBlock("table_cell");
// CREATE TEXT STRING
if ($key == "type")
{
$this->tpl->setVariable("TEXT_CONTENT",ilUtil::getImageTagByType($cell_data,$this->tpl->tplPath));
}
else
{
$this->tpl->setVariable("TEXT_CONTENT",$cell_data);
}
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("table_row");
$this->tpl->setVariable("CSS_ROW",ilUtil::switchColor(++$counter,"tblrow1","tblrow2"));
$this->tpl->parseCurrentBlock();
// END TABLE CELL
}
// END TABLE DATA
// BEGIN OPERATION_BTN
foreach ($this->data["buttons"] as $name => $value)
{
$this->tpl->setCurrentBlock("operation_btn");
$this->tpl->setVariable("IMG_ARROW",ilUtil::getImagePath("spacer.gif"));
$this->tpl->setVariable("BTN_NAME",$name);
$this->tpl->setVariable("BTN_VALUE",$value);
$this->tpl->parseCurrentBlock();
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjiLincCourseGUI::confirmedRemoveMemberObject | ( | ) |
remove members from group TODO: set return location to parent object if user removes himself TODO: allow user to remove himself when he is not group admin public
Definition at line 1552 of file class.ilObjiLincCourseGUI.php.
References $_SESSION, ilUtil::redirect(), and ilUtil::sendInfo().
{
$removed_self = false;
$mail = new ilMail($_SESSION["AccountId"]);
//User needs to have administrative rights to remove members...
foreach($_SESSION["saved_post"]["user_id"] as $member_id)
{
$user_obj = new ilObjUser($member_id);
if (!$this->object->removeMember($user_obj))
{
ilUtil::sendInfo($this->lng->txt($this->object->getErrorMsg()),true);
ilUtil::redirect($this->ctrl->getLinkTarget($this,"members"));
}
$user_obj->dropDesktopItem($this->object->getRefId(), "icrs");
if (!$removed_self and $user_obj->getId() == $this->ilias->account->getId())
{
$removed_self = true;
}
else
{
$mail->sendMail($user_obj->getLogin(),"","",$this->lng->txtlng("common","ilinc_mail_subj_subscription_cancelled",$user_obj->getLanguage()).": ".$this->object->getTitle(),$this->lng->txtlng("common","ilinc_mail_body_subscription_cancelled",$user_obj->getLanguage()),array(),array('normal'));
}
}
unset($_SESSION["saved_post"]);
ilUtil::sendInfo($this->lng->txt("ilinc_msg_membership_annulled"),true);
if ($removed_self)
{
ilUtil::redirect("repository.php?ref_id=".$this->tree->getParentId($this->ref_id));
}
ilUtil::redirect($this->ctrl->getLinkTarget($this,"members"));
}
Here is the call graph for this function:| ilObjiLincCourseGUI::createObject | ( | ) |
create new object form
public
Reimplemented from ilObjectGUI.
Definition at line 60 of file class.ilObjiLincCourseGUI.php.
References $_GET, $_SESSION, ilObjectGUI::$data, ilUtil::formCheckbox(), ilObjectGUI::getFormAction(), ilObjectGUI::getTargetFrame(), ilUtil::prepareFormOutput(), and ilUtil::stripSlashes().
{
global $rbacsystem;
$new_type = $_POST["new_type"] ? $_POST["new_type"] : $_GET["new_type"];
if (!$rbacsystem->checkAccess("create", $_GET["ref_id"], $new_type))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
}
// fill in saved values in case of error
$data = array();
$data["fields"] = array();
$data["fields"]["title"] = ilUtil::prepareFormOutput($_SESSION["error_post_vars"]["Fobject"]["title"],true);
$data["fields"]["desc"] = ilUtil::stripSlashes($_SESSION["error_post_vars"]["Fobject"]["desc"]);
//$data["fields"]["homepage"] = ilUtil::prepareFormOutput($_SESSION["error_post_vars"]["Fobject"]["homepage"],true);
//$data["fields"]["download"] = ilUtil::prepareFormOutput($_SESSION["error_post_vars"]["Fobject"]["download"],true);
$data["fields"]["activated"] = ilUtil::formCheckbox($_SESSION["error_post_vars"]["Fobject"]["activated"],"Fobject[activated]",1);
$data["fields"]["akclassvalue1"] = ilUtil::prepareFormOutput($_SESSION["error_post_vars"]["Fobject"]["akclassvalue1"],true);
$data["fields"]["akclassvalue2"] = ilUtil::prepareFormOutput($_SESSION["error_post_vars"]["Fobject"]["akclassvalue2"],true);
$checkbox_access = ilUtil::formCheckbox($this->object->activated,"Fobject[activated]",1);
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.icrs_edit.html","ilinc");
// display akclassvalues
if ($this->ilias->getSetting("ilinc_akclassvalues_active"))
{
$this->tpl->setVariable("TXT_AKCLASSVALUE1", $this->lng->txt("akclassvalue1"));
$this->tpl->setVariable("TXT_AKCLASSVALUE2", $this->lng->txt("akclassvalue2"));
$this->tpl->setVariable("TXT_AKCLASSVALUES",$this->lng->txt("akclassvalues"));
if ($this->ilias->getSetting("ilinc_akclassvalues_required"))
{
$this->tpl->setVariable("AKCLASSVALUE_REQUIRED",'*');
}
}
$this->tpl->setVariable("TXT_TITLE", $this->lng->txt("title"));
$this->tpl->setVariable("TITLE", $data["fields"]["title"]);
$this->tpl->setVariable("TXT_DESC", $this->lng->txt("desc"));
$this->tpl->setVariable("DESC", $data["fields"]["desc"]);
$this->tpl->setVariable("TXT_ACCESS", $this->lng->txt("online"));
$this->tpl->setVariable("CHKBOX_ACCESS", $data["fields"]["activated"]);
//$this->tpl->setVariable("TXT_HOMEPAGE_URL", $this->lng->txt("homepage_url"));
//$this->tpl->setVariable("HOMEPAGE_URL", $data["fields"]["homepage"]);
//$this->tpl->setVariable("TXT_DOWNLOAD_RESOURCES_URL", $this->lng->txt("download_resources_url"));
//$this->tpl->setVariable("DOWNLOAD_RESOURCES_URL", $data["fields"]["download"]);
//$this->tpl->setVariable("TXT_NOT_YET", $this->lng->txt("not_implemented_yet"));
$this->ctrl->setParameter($this, "mode", "create");
$this->ctrl->setParameter($this, "new_type", $new_type);
$this->tpl->setVariable("FORMACTION", $this->getFormAction("save",$this->ctrl->getFormAction($this)));
$this->tpl->setVariable("TXT_HEADER", $this->lng->txt($new_type."_new"));
$this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
$this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt($new_type."_add"));
$this->tpl->setVariable("CMD_SUBMIT", "save");
$this->tpl->setVariable("TARGET", $this->getTargetFrame("save"));
$this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field"));
}
Here is the call graph for this function:| ilObjiLincCourseGUI::displayEditForm | ( | $ | fields, | |
| $ | akclassvalues | |||
| ) |
display edit form (usually called by editObject)
private
| array | $fields key/value pairs of input fields |
Definition at line 1872 of file class.ilObjiLincCourseGUI.php.
References ilUtil::formCheckbox(), ilObjectGUI::getFormAction(), and ilObjectGUI::getTargetFrame().
Referenced by editObject().
{
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.icrs_edit.html","ilinc");
foreach ($fields as $key => $val)
{
$this->tpl->setVariable("TXT_".strtoupper($key), $this->lng->txt($key));
$this->tpl->setVariable(strtoupper($key), $val);
$this->tpl->parseCurrentBlock();
}
if ($this->ilias->getSetting("ilinc_akclassvalues_active"))
{
$this->tpl->setVariable("TXT_AKCLASSVALUES",$this->lng->txt('akclassvalues'));
if ($this->ilias->getSetting("ilinc_akclassvalues_required"))
{
$this->tpl->setVariable("AKCLASSVALUE_REQUIRED",'*');
}
foreach ($akclassvalues as $key => $val)
{
$this->tpl->setVariable("TXT_".strtoupper($key), $this->lng->txt($key));
$this->tpl->setVariable(strtoupper($key), $val);
$this->tpl->parseCurrentBlock();
}
}
$checkbox_access = ilUtil::formCheckbox($this->object->activated,"Fobject[activated]",1);
$this->tpl->setVariable("TXT_ACCESS", $this->lng->txt("online"));
$this->tpl->setVariable("CHKBOX_ACCESS", $checkbox_access);
$obj_str = ($this->call_by_reference) ? "" : "&obj_id=".$this->obj_id;
$this->tpl->setVariable("FORMACTION", $this->getFormAction("update",$this->ctrl->getFormAction($this).$obj_str));
$this->tpl->setVariable("TXT_HEADER", $this->lng->txt($this->object->getType()."_edit"));
$this->tpl->setVariable("TARGET", $this->getTargetFrame("update"));
$this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel"));
$this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save"));
$this->tpl->setVariable("CMD_SUBMIT", "update");
$this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field"));
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjiLincCourseGUI::editObject | ( | ) |
edit object
public
Reimplemented from ilObjectGUI.
Definition at line 1837 of file class.ilObjiLincCourseGUI.php.
References $_SESSION, displayEditForm(), ilUtil::prepareFormOutput(), and ilUtil::stripSlashes().
{
if (!$this->ilias->getSetting("ilinc_active"))
{
$this->ilias->raiseError($this->lng->txt("ilinc_server_not_active"),$this->ilias->error_obj->MESSAGE);
}
$fields = array();
$akclassvalues = array();
if ($_SESSION["error_post_vars"])
{
// fill in saved values in case of error
$fields["title"] = ilUtil::prepareFormOutput($_SESSION["error_post_vars"]["Fobject"]["title"],true);
$fields["desc"] = ilUtil::stripSlashes($_SESSION["error_post_vars"]["Fobject"]["desc"]);
$akclassvalues["akclassvalue1"] = ilUtil::stripSlashes($_SESSION["error_post_vars"]["Fobject"]["akclassvalue1"]);
$akclassvalues["akclassvalue2"] = ilUtil::stripSlashes($_SESSION["error_post_vars"]["Fobject"]["akclassvalue2"]);
}
else
{
$fields["title"] = ilUtil::prepareFormOutput($this->object->getTitle());
$fields["desc"] = ilUtil::stripSlashes($this->object->getDescription());
$akclassvalues["akclassvalue1"] = ilUtil::stripSlashes($this->object->getAKClassValue1());
$akclassvalues["akclassvalue2"] = ilUtil::stripSlashes($this->object->getAKClassValue2());
}
$this->displayEditForm($fields,$akclassvalues);
}
Here is the call graph for this function:| & ilObjiLincCourseGUI::executeCommand | ( | ) |
execute command note: this method is overwritten in all container objects
Reimplemented from ilContainerGUI.
Definition at line 955 of file class.ilObjiLincCourseGUI.php.
References $_GET, $cmd, $ilErr, $ret, __setSubTabs(), ilObjectGUI::getCreationMode(), and ilObjectGUI::prepareOutput().
{
global $ilUser,$rbacsystem,$ilAccess,$ilErr;
$next_class = $this->ctrl->getNextClass($this);
$cmd = $this->ctrl->getCmd();
$this->prepareOutput();
switch($next_class)
{
case "ilconditionhandlerinterface":
include_once './classes/class.ilConditionHandlerInterface.php';
if($_GET['item_id'])
{
$new_gui =& new ilConditionHandlerInterface($this,(int) $_GET['item_id']);
$this->ctrl->saveParameter($this,'item_id',$_GET['item_id']);
$this->ctrl->forwardCommand($new_gui);
}
else
{
$new_gui =& new ilConditionHandlerInterface($this);
$this->ctrl->forwardCommand($new_gui);
}
break;
case 'ilrepositorysearchgui':
include_once('./Services/Search/classes/class.ilRepositorySearchGUI.php');
$rep_search =& new ilRepositorySearchGUI();
$rep_search->setCallback($this,'addUserObject');
// Set tabs
$this->tabs_gui->setTabActive('members');
$this->ctrl->setReturn($this,'members');
$ret =& $this->ctrl->forwardCommand($rep_search);
$this->__setSubTabs('members');
$this->tabs_gui->setSubTabActive('members');
break;
case "ilregistergui":
$this->ctrl->setReturn($this, ""); // ###
$reg_gui = new ilRegisterGUI();
//$reg_gui->executeCommand();
$ret =& $this->ctrl->forwardCommand($reg_gui);
break;
case "ilobjilincclassroomgui":
include_once ('class.ilObjiLincClassroomGUI.php');
$icla_gui = new ilObjiLincClassroomGUI($_GET['class_id'],$this->ref_id);
$ret =& $this->ctrl->forwardCommand($icla_gui);
break;
case 'ilpermissiongui':
include_once("./classes/class.ilPermissionGUI.php");
$perm_gui =& new ilPermissionGUI($this);
$ret =& $this->ctrl->forwardCommand($perm_gui);
break;
case 'ilobjusergui':
require_once './Services/User/classes/class.ilObjUserGUI.php';
$user_gui = new ilObjUserGUI("",$_GET["user"], false, false);
$html = $this->ctrl->forwardCommand($user_gui);
$this->__setSubTabs('members');
$this->tabs_gui->setTabActive('group_members');
$this->tabs_gui->setSubTabActive('grp_members_gallery');
$this->tpl->setVariable("ADM_CONTENT", $html);
break;
default:
if (!$this->getCreationMode() and !$ilAccess->checkAccess('visible','',$this->object->getRefId(),'icrs'))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_read"),$ilErr->MESSAGE);
}
/*if (!$this->getCreationMode()
&& !$rbacsystem->checkAccess('read',$this->object->getRefId())
|| $cmd == 'join')
{
$this->ctrl->redirectByClass("ilRegisterGUI", "showRegistrationForm");
}*/
if(!$cmd)
{
$cmd = 'view';
}
$cmd .= 'Object';
$this->$cmd();
break;
/*
if (!$this->getCreationMode() and !$ilAccess->checkAccess('visible','',$this->object->getRefId(),'grp'))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_read"),$ilErr->MESSAGE);
}
if (!$this->getCreationMode()
&& !$rbacsystem->checkAccess('read',$this->object->getRefId())
|| $cmd == 'join')
{
$this->ctrl->redirectByClass("ilRegisterGUI", "showRegistrationForm");
}
if(!$cmd)
{
$cmd = 'view';
}
$cmd .= 'Object';
$this->$cmd();
break;
*/
}
}
Here is the call graph for this function:| ilObjiLincCourseGUI::getSubItems | ( | ) |
get all subitems of the container overwrites method in ilContainerGUI
Reimplemented from ilContainerGUI.
Definition at line 1085 of file class.ilObjiLincCourseGUI.php.
References ilObjectGUI::$object, and ilUtil::sendInfo().
{
$objects = array();
if (!($objects = $this->object->getClassrooms()))
{
ilUtil::sendInfo($this->lng->txt($this->object->getErrorMsg()));
return;
}
foreach ($objects as $key => $object)
{
$this->items['icla'][$key] = $object;
}
}
Here is the call graph for this function:| ilObjiLincCourseGUI::getTabs | ( | &$ | tabs_gui | ) |
get tabs public
| object | tabs gui object |
Reimplemented from ilContainerGUI.
Definition at line 259 of file class.ilObjiLincCourseGUI.php.
References $_SESSION.
{
global $rbacsystem,$ilAccess;
$this->ctrl->setParameter($this,"ref_id",$this->ref_id);
if ($rbacsystem->checkAccess('read',$this->ref_id))
{
$tabs_gui->addTarget("ilinc_classrooms",
$this->ctrl->getLinkTarget($this, ""),
array("", "view")
);
}
if ($this->ilias->getSetting("ilinc_active"))
{
if ($rbacsystem->checkAccess('write',$this->ref_id))
{
$tabs_gui->addTarget("edit_properties",
$this->ctrl->getLinkTarget($this, "edit"), "edit", get_class($this));
}
/* if ($rbacsystem->checkAccess('read',$this->ref_id))
{
$tabs_gui->addTarget("ilinc_involved_users",
$this->ctrl->getLinkTarget($this, "members"), array("members","mailMembers","membersGallery","showProfile"), get_class($this));
}*/
// member list
if($ilAccess->checkAccess('write','',$this->ref_id))
{
$tabs_gui->addTarget("ilinc_involved_users",
$this->ctrl->getLinkTarget($this, "members"),
array("members","mailMembers","membersGallery","showProfile"),
get_class($this));
}
elseif ($ilAccess->checkAccess('read','',$this->ref_id))
{
$tabs_gui->addTarget("ilinc_involved_users",
$this->ctrl->getLinkTarget($this, "membersGallery"),
array("members","mailMembers","membersGallery","showProfile"),
get_class($this));
}
if ($rbacsystem->checkAccess('write',$this->ref_id) and $this->object->isDocent($this->ilias->account))
{
// testing: display link to ilinc server directly
$tabs_gui->addTarget("ilinc_manage_course_documents",
$url = $this->object->userLogin($this->ilias->account), "agenda","","_blank");
// $tabs_gui->addTarget("ilinc_manage_course_documents",
// $this->ctrl->getLinkTarget($this, "agenda"), "agenda", get_class($this),"_blank");
}
}
/*$applications = $this->object->getNewRegistrations();
if (is_array($applications) and $this->object->isAdmin($this->ilias->account->getId()))
{
$tabs_gui->addTarget("ilinc_new_registrations",
$this->ctrl->getLinkTarget($this, "ShownewRegistrations"), "ShownewRegistrations", get_class($this));
}*/
if ($rbacsystem->checkAccess('edit_permission',$this->ref_id))
{
$tabs_gui->addTarget("perm_settings",
$this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"), array("perm","info","owner"), 'ilpermissiongui');
}
// show clipboard in repository
if ($this->ctrl->getTargetScript() == "repository.php" and !empty($_SESSION['il_rep_clipboard']))
{
$tabs_gui->addTarget("clipboard",
$this->ctrl->getLinkTarget($this, "clipboard"), "clipboard", get_class($this));
}
if ($this->ctrl->getTargetScript() == "adm_object.php")
{
if ($this->tree->getSavedNodeData($this->ref_id))
{
$tabs_gui->addTarget("trash",
$this->ctrl->getLinkTarget($this, "trash"), "trash", get_class($this));
}
}
}
| ilObjiLincCourseGUI::ilObjiLincCourseGUI | ( | $ | a_data, | |
| $ | a_id, | |||
| $ | a_call_by_reference, | |||
| $ | a_prepare_output = false | |||
| ) |
Constructor public.
Definition at line 45 of file class.ilObjiLincCourseGUI.php.
References ilContainerGUI::ilContainerGUI().
{
$this->type = "icrs";
$this->ilContainerGUI($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
$this->ctrl->saveParameter($this,'ref_id');
$this->lng->loadLanguageModule('ilinc');
}
Here is the call graph for this function:| ilObjiLincCourseGUI::isActiveAdministrationPanel | ( | ) |
Reimplemented from ilContainerGUI.
Definition at line 1938 of file class.ilObjiLincCourseGUI.php.
{
return false;
}
| ilObjiLincCourseGUI::joinObject | ( | ) |
Definition at line 1917 of file class.ilObjiLincCourseGUI.php.
References $_GET, ilUtil::redirect(), and ilUtil::sendInfo().
{
global $rbacsystem;
if (!$rbacsystem->checkAccess("join", $_GET["ref_id"]))
{
$this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE);
}
if (!$this->object->addMember($this->ilias->account,$this->object->getDefaultMemberRole(),false))
{
//var_dump($this->object->getErrorMsg());exit;
$this->ilErr->raiseError($this->object->getErrorMsg(),$this->ilErr->MESSAGE);
}
$this->ilias->account->addDesktopItem($this->object->getRefId(),"icrs");
ilUtil::sendInfo($this->lng->txt("ilinc_msg_joined"),true);
ilUtil::redirect($this->ctrl->getLinkTarget($this,"view"));
}
Here is the call graph for this function:| ilObjiLincCourseGUI::listUsersGroupObject | ( | ) |
Definition at line 747 of file class.ilObjiLincCourseGUI.php.
References $_SESSION, ilObjectGUI::$tree, $user, ilObjectGUI::__showButton(), __showSearchUserTable(), formatDate(), ilUtil::formCheckbox(), ilObjectFactory::getInstanceByObjId(), ilObjectFactory::getInstanceByRefId(), searchObject(), and ilUtil::sendInfo().
{
global $rbacsystem,$rbacreview,$tree;
$_SESSION["grp_group"] = $_POST["group"] = $_POST["group"] ? $_POST["group"] : $_SESSION["grp_group"];
// MINIMUM ACCESS LEVEL = 'administrate'
if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
}
if(!is_array($_POST["group"]))
{
ilUtil::sendInfo($this->lng->txt("grp_no_groups_selected"));
$this->searchObject();
return false;
}
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.grp_usr_selection.html");
$this->__showButton("searchUserForm",$this->lng->txt("grp_new_search"));
// GET ALL MEMBERS
$members = array();
foreach($_POST["group"] as $group_id)
{
if (!$tree->isInTree($group_id))
{
continue;
}
if (!$tmp_obj = ilObjectFactory::getInstanceByRefId($group_id))
{
continue;
}
$members = array_merge($tmp_obj->getGroupMemberIds(),$members);
unset($tmp_obj);
}
$members = array_unique($members);
// FORMAT USER DATA
$counter = 0;
$f_result = array();
foreach($members as $user)
{
if(!$tmp_obj = ilObjectFactory::getInstanceByObjId($user,false))
{
continue;
}
$user_ids[$counter] = $user;
$f_result[$counter][] = ilUtil::formCheckbox(0,"user[]",$user);
$f_result[$counter][] = $tmp_obj->getLogin();
$f_result[$counter][] = $tmp_obj->getLastname();
$f_result[$counter][] = $tmp_obj->getFirstname();
$f_result[$counter][] = ilFormat::formatDate($tmp_obj->getLastLogin());
unset($tmp_obj);
++$counter;
}
$this->__showSearchUserTable($f_result,$user_ids,"listUsersGroup");
return true;
}
Here is the call graph for this function:| ilObjiLincCourseGUI::listUsersRoleObject | ( | ) |
Definition at line 689 of file class.ilObjiLincCourseGUI.php.
References $_SESSION, $user, ilObjectGUI::__showButton(), __showSearchUserTable(), formatDate(), ilUtil::formCheckbox(), ilObjectFactory::getInstanceByObjId(), searchObject(), and ilUtil::sendInfo().
{
global $rbacsystem,$rbacreview;
$_SESSION["grp_role"] = $_POST["role"] = $_POST["role"] ? $_POST["role"] : $_SESSION["grp_role"];
// MINIMUM ACCESS LEVEL = 'administrate'
if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
}
if(!is_array($_POST["role"]))
{
ilUtil::sendInfo($this->lng->txt("grp_no_roles_selected"));
$this->searchObject();
return false;
}
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.grp_usr_selection.html");
$this->__showButton("searchUserForm",$this->lng->txt("grp_new_search"));
// GET ALL MEMBERS
$members = array();
foreach($_POST["role"] as $role_id)
{
$members = array_merge($rbacreview->assignedUsers($role_id),$members);
}
$members = array_unique($members);
// FORMAT USER DATA
$counter = 0;
$f_result = array();
foreach($members as $user)
{
if(!$tmp_obj = ilObjectFactory::getInstanceByObjId($user,false))
{
continue;
}
$user_ids[$counter] = $user;
$f_result[$counter][] = ilUtil::formCheckbox(0,"user[]",$user);
$f_result[$counter][] = $tmp_obj->getLogin();
$f_result[$counter][] = $tmp_obj->getLastname();
$f_result[$counter][] = $tmp_obj->getFirstname();
$f_result[$counter][] = ilFormat::formatDate($tmp_obj->getLastLogin());
unset($tmp_obj);
++$counter;
}
$this->__showSearchUserTable($f_result,$user_ids,"listUsersRole");
return true;
}
Here is the call graph for this function:| ilObjiLincCourseGUI::mailMembersObject | ( | ) |
Definition at line 1969 of file class.ilObjiLincCourseGUI.php.
References __setSubTabs(), ilUtil::formCheckbox(), and ilUtil::getImagePath().
{
global $rbacreview;
$this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.mail_members.html');
$this->__setSubTabs('members');
$link_data = $this->object->_getLinkToObject($this->object->getRefId());
$link_to_seminar = ILIAS_HTTP_PATH."/".$link_data[0];
$this->tpl->setVariable("MAILACTION",'ilias.php?baseClass=ilMailGUI&type=role');
$this->tpl->setVariable("ADDITIONAL_MESSAGE_TEXT",$link_to_seminar);
$this->tpl->setVariable("MAIL_MEMBERS",$this->lng->txt('send_mail_members'));
$this->tpl->setVariable("MAIL_ADMIN",$this->lng->txt('send_mail_admins'));
$this->tpl->setVariable("CHECK_MEMBER",ilUtil::formCheckbox(1,'roles[]','#il_icrs_member_'.$this->object->getRefId()));
$this->tpl->setVariable("CHECK_ADMIN",ilUtil::formCheckbox(0,'roles[]','#il_icrs_admin_'.$this->object->getRefId()));
$this->tpl->setVariable("IMG_ARROW",ilUtil::getImagePath('arrow_downright.gif'));
$this->tpl->setVariable("OK",$this->lng->txt('ok'));
}
Here is the call graph for this function:| ilObjiLincCourseGUI::membersGalleryObject | ( | ) |
Builds a learnlink seminar members gallery as a layer of left-floating images.
Definition at line 1995 of file class.ilObjiLincCourseGUI.php.
References $file, __setSubTabs(), exit, ilObjectFactory::getInstanceByObjId(), and ilUtil::getStyleSheetLocation().
{
global $rbacsystem;
$is_admin = (bool) $rbacsystem->checkAccess("write", $this->object->getRefId());
$this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.icrs_members_gallery.html','ilinc');
$this->__setSubTabs('members');
$this->lng->loadLanguageModule('ilinc');
$member_ids = $this->object->getMemberIds();
// fetch all user data in one shot to improve performance (from ILIAS db)
$members = $this->object->getMemberData($member_ids);
// fetch docent or student assignment form all coursemembers from iLinc server
$admin_ids = $this->object->getiLincMemberIds(true);
// MEMBERS
if (count($members))
{
foreach ($members as $member)
{
// get user object
if(!($usr_obj = ilObjectFactory::getInstanceByObjId($member["id"],false)))
{
continue;
}
$public_profile = $usr_obj->getPref("public_profile");
// SET LINK TARGET FOR USER PROFILE
$this->ctrl->setParameterByClass("ilobjusergui", "user", $member["id"]);
$profile_target = $this->ctrl->getLinkTargetByClass("ilobjusergui", "getPublicProfile");
// GET USER IMAGE
$file = $usr_obj->getPersonalPicturePath("xsmall");
switch(in_array($member["ilinc_id"],$admin_ids))
{
//admins
case 1:
if ($public_profile == "y")
{
$this->tpl->setCurrentBlock("tutor_linked");
$this->tpl->setVariable("LINK_PROFILE", $profile_target);
$this->tpl->setVariable("SRC_USR_IMAGE", $file);
$this->tpl->parseCurrentBlock();
}
else
{
$this->tpl->setCurrentBlock("tutor_not_linked");
$this->tpl->setVariable("SRC_USR_IMAGE", $file);
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("tutor");
break;
case 0:
if ($public_profile == "y")
{
$this->tpl->setCurrentBlock("member_linked");
$this->tpl->setVariable("LINK_PROFILE", $profile_target);
$this->tpl->setVariable("SRC_USR_IMAGE", $file);
$this->tpl->parseCurrentBlock();
}
else
{
$this->tpl->setCurrentBlock("member_not_linked");
$this->tpl->setVariable("SRC_USR_IMAGE", $file);
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("member");
break;
}
// do not show name, if public profile is not activated
if ($public_profile == "y")
{
$this->tpl->setVariable("FIRSTNAME", $member["firstname"]);
$this->tpl->setVariable("LASTNAME", $member["lastname"]);
}
$this->tpl->setVariable("LOGIN", $usr_obj->getLogin());
$this->tpl->parseCurrentBlock();
}
$this->tpl->setCurrentBlock("members");
$this->tpl->setVariable("MEMBERS_TABLE_HEADER",$this->lng->txt('ilinc_involved_users'));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setVariable("TITLE",$this->lng->txt('icrs_members_print_title'));
$this->tpl->setVariable("CSS_PATH",ilUtil::getStyleSheetLocation());
$headline = $this->object->getTitle()."<br/>".$this->object->getDescription();
$this->tpl->setVariable("HEADLINE",$headline);
$this->tpl->show();
exit;
}
Here is the call graph for this function:| ilObjiLincCourseGUI::membersObject | ( | ) |
display group members
Definition at line 847 of file class.ilObjiLincCourseGUI.php.
References $ilBench, ilObjectGUI::$lng, __setSubTabs(), and __showMembersTable().
{
global $rbacsystem,$ilBench,$ilDB,$lng;
if (!$this->ilias->getSetting("ilinc_active"))
{
$this->ilias->raiseError($lng->txt("ilinc_server_not_active"),$this->ilias->error_obj->MESSAGE);
}
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.icrs_members.html","ilinc");
$this->__setSubTabs('members');
$this->lng->loadLanguageModule('ilinc');
// display member search button
$is_admin = (bool) $rbacsystem->checkAccess("write", $this->object->getRefId());
if ($is_admin)
{
$this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html");
$this->tpl->setCurrentBlock("btn_cell");
$this->tpl->setVariable("BTN_LINK",$this->ctrl->getLinkTargetByClass('ilRepositorySearchGUI','start'));
$this->tpl->setVariable("BTN_TXT",$this->lng->txt("ilinc_add_user"));
$this->tpl->parseCurrentBlock();
}
//if current user is admin he is able to add new members to group
$val_contact = "<img src=\"".ilUtil::getImagePath("icon_pencil_b.gif")."\" alt=\"".$this->lng->txt("ilinc_mem_send_mail")."\" title=\"".$this->lng->txt("ilinc_mem_send_mail")."\" border=\"0\" vspace=\"0\"/>";
$val_change = "<img src=\"".ilUtil::getImagePath("icon_change_b.gif")."\" alt=\"".$this->lng->txt("ilinc_mem_change_status")."\" title=\"".$this->lng->txt("ilinc_mem_change_status")."\" border=\"0\" vspace=\"0\"/>";
$val_leave = "<img src=\"".ilUtil::getImagePath("icon_group_out_b.gif")."\" alt=\"".$this->lng->txt("ilinc_mem_leave")."\" title=\"".$this->lng->txt("ilinc_mem_leave")."\" border=\"0\" vspace=\"0\"/>";
// store access checks to improve performance
$access_leave = $rbacsystem->checkAccess("leave",$this->object->getRefId());
$access_write = $rbacsystem->checkAccess("write",$this->object->getRefId());
$member_ids = $this->object->getMemberIds();
// fetch all user data in one shot to improve performance (from ILIAS db)
$members = $this->object->getMemberData($member_ids);
// fetch docent or student assignment form all coursemembers from iLinc server
$docent_ids = $this->object->getiLincMemberIds(true);
$student_ids = $this->object->getiLincMemberIds(false);
$account_id = $this->ilias->account->getId();
$counter = 0;
foreach ($members as $mem)
{
$link_contact = "ilias.php?baseClass=ilMailGUI&type=new&rcp_to=".$mem["login"];
$link_change = $this->ctrl->getLinkTarget($this,"changeMember")."&mem_id=".$mem["id"];
if (($mem["id"] == $account_id && $access_leave) || $access_delete)
{
$link_leave = $this->ctrl->getLinkTarget($this,"RemoveMember")."&mem_id=".$mem["id"];
}
//build function
if ($access_write)
{
$member_functions = "<a href=\"$link_change\">$val_change</a>";
}
if (($mem["id"] == $account_id && $access_leave) || $access_write)
{
$link_leave = $this->ctrl->getLinkTarget($this,"RemoveMember")."&mem_id=".$mem["id"];
$member_functions .="<a href=\"$link_leave\">$val_leave</a>";
}
// this is twice as fast than the code above
$str_member_roles = $this->object->getMemberRolesTitle($mem["id"]);
if ($access_write)
{
$result_set[$counter][] = ilUtil::formCheckBox(0,"user_id[]",$mem["id"]);
}
$user_ids[$counter] = $mem["id"];
$status = $this->object->checkiLincMemberStatus($mem['ilinc_id'],$docent_ids,$student_ids);
if ($status == ILINC_MEMBER_NOTSET)
{
$status = "<span class='warning'>".$this->lng->txt($status)."</span>";
}
else
{
$status = $this->lng->txt($status);
}
//discarding the checkboxes
$result_set[$counter][] = $mem["login"];
$result_set[$counter][] = $mem["firstname"];
$result_set[$counter][] = $mem["lastname"];
$result_set[$counter][] = $status;
$result_set[$counter][] = $str_member_roles;
$result_set[$counter][] = "<a href=\"$link_contact\">".$val_contact."</a>".$member_functions;
++$counter;
unset($member_functions);
}
return $this->__showMembersTable($result_set,$user_ids);
}
Here is the call graph for this function:| ilObjiLincCourseGUI::removeMemberObject | ( | ) |
displays confirmation formular with users that shall be removed from group public
Definition at line 1395 of file class.ilObjiLincCourseGUI.php.
References $_GET, and confirmationObject().
{
global $ilUser,$rbacreview;
$user_ids = array();
if (isset($_POST["user_id"]))
{
$user_ids = $_POST["user_id"];
}
else if (isset($_GET["mem_id"]))
{
$user_ids[] = $_GET["mem_id"];
}
if (empty($user_ids[0]))
{
$this->ilErr->raiseError($this->lng->txt("no_checkbox"),$this->ilErr->MESSAGE);
}
if (count($user_ids) == 1 and $this->ilias->account->getId() != $user_ids[0])
{
if (!in_array(SYSTEM_ROLE_ID,$rbacreview->assignedRoles($ilUser->getId()))
and !in_array($this->ilias->account->getId(),$this->object->getAdminIds()))
{
$this->ilErr->raiseError($this->lng->txt("ilinc_err_no_permission"),$this->ilErr->MESSAGE);
}
}
//bool value: says if $users_ids contains current user id
$is_dismiss_me = array_search($this->ilias->account->getId(),$user_ids);
$confirm = "confirmedRemoveMember";
$cancel = "canceled";
$info = ($is_dismiss_me !== false) ? "ilinc_dismiss_myself" : "ilinc_dismiss_member";
$status = "";
$return = "members";
$this->confirmationObject($user_ids, $confirm, $cancel, $info, $status, $return);
}
Here is the call graph for this function:| ilObjiLincCourseGUI::renderItemList | ( | $ | a_type = "all" |
) |
overwrites method in ilContainerGUI
Reimplemented from ilContainerGUI.
Definition at line 1104 of file class.ilObjiLincCourseGUI.php.
References $location, ilObjectGUI::$objDefinition, ilObjectGUI::$tpl, ilContainerGUI::addHeaderRow(), ilContainerGUI::addSeparatorRow(), ilContainerGUI::addStandardRow(), ilContainerGUI::newBlockTemplate(), and ilContainerGUI::resetRowType().
{
global $objDefinition;
$html = "";
$this->adminCommands = false;
$class = $objDefinition->getClassName("icla");
$location = $objDefinition->getLocation("icla");
$full_class = "ilObj".$class."ListGUI";
include_once($location."/class.".$full_class.".php");
$item_list_gui = new $full_class();
$item_list_gui->setContainerObject($this);
$tpl =& $this->newBlockTemplate();
$first = true;
$item_html = array();
if (is_array($this->items['icla']))
{
foreach($this->items['icla'] as $key => $item)
{
$html = $item_list_gui->getListItemHTML($this->object->getRefId(),
$key, $item["name"], $item["description"],$item);
if ($html != "")
{
$item_html[] = array("html" => $html, "item_id" => $item["ref_id"]);
}
}
// output block for resource type
if (count($item_html) > 0)
{
// separator row
if (!$first)
{
$this->addSeparatorRow($tpl);
}
$first = false;
// add a header for each resource type
$this->addHeaderRow($tpl, 'icla');
$this->resetRowType();
// content row
foreach($item_html as $item)
{
$this->addStandardRow($tpl, $item["html"], $item["item_id"]);
}
}
}
$html = $tpl->get();
return $html;
}
Here is the call graph for this function:| ilObjiLincCourseGUI::saveObject | ( | ) |
save object public
Reimplemented from ilObjectGUI.
Definition at line 195 of file class.ilObjiLincCourseGUI.php.
References $_GET, $success, ilUtil::prepareDBString(), ilObjectGUI::redirectToRefId(), ilUtil::sendInfo(), and ilUtil::tf2yn().
{
global $rbacadmin,$rbacsystem;
// check required fields
if (empty($_POST["Fobject"]["title"]))
{
$this->ilErr->raiseError($this->lng->txt("fill_out_all_required_fields"),$this->ilErr->MESSAGE);
}
// check akclassvalues if active
if (empty($_POST["Fobject"]["akclassvalue1"]) and $this->ilias->getSetting("ilinc_akclassvalues_active") and $this->ilias->getSetting("ilinc_akclassvalues_required"))
{
$this->ilErr->raiseError($this->lng->txt("fill_out_all_required_fields"),$this->ilErr->MESSAGE);
}
// when creating new ilinc course we first create it on ilinc server
include_once ('class.ilnetucateXMLAPI.php');
$ilinc = new ilnetucateXMLAPI();
$ilinc->addCourse($_POST["Fobject"]);
$response = $ilinc->sendRequest();
if ($response->isError())
{
$this->ilErr->raiseError($response->getErrorMsg(),$this->ilErr->MESSAGE);
}
// if everything ok, create and insert ilinc course in ILIAS
$icrsObj = parent::saveObject();
// save ilinc_id in ILIAS and save data (temp. TODO: build save function)
$icrsObj->storeiLincId($response->getFirstID());
$icrsObj->saveActivationStatus(ilUtil::tf2yn($_POST["Fobject"]["activated"]));
$icrsObj->saveAKClassValues(ilUtil::prepareDBString($_POST["Fobject"]["akclassvalue1"]), ilUtil::prepareDBString($_POST["Fobject"]["akclassvalue2"]));
// setup rolefolder & default local roles (admin & member)
$roles = $icrsObj->initDefaultRoles();
// ...finally assign icrsadmin role to creator of icrs object
$success = $icrsObj->addMember($this->ilias->account,$icrsObj->getDefaultAdminRole(),true);
if (!$success)
{
$this->ilErr->raiseError($icrsObj->getErrorMsg(),$this->ilErr->MESSAGE);
}
// $icrsObj->setRegistrationFlag($_POST["enable_registration"]); //0=no registration, 1=registration enabled 2=passwordregistration
// $icrsObj->setPassword($_POST["password"]);
// $icrsObj->setExpirationDateTime($_POST["expirationdate"]." ".$_POST["expirationtime"].":00");
$this->ilias->account->addDesktopItem($icrsObj->getRefId(),"icrs");
// always send a message
ilUtil::sendInfo($this->lng->txt("icrs_added"),true);
$this->redirectToRefId($_GET["ref_id"]);
}
Here is the call graph for this function:| ilObjiLincCourseGUI::searchObject | ( | ) |
Definition at line 1214 of file class.ilObjiLincCourseGUI.php.
References $_SESSION, ilObjectGUI::$tree, $user, __search(), ilObjectGUI::__showButton(), __showSearchGroupTable(), __showSearchRoleTable(), __showSearchUserTable(), formatDate(), ilUtil::formCheckbox(), ilObjectFactory::getInstanceByObjId(), ilObjectFactory::getInstanceByRefId(), searchUserFormObject(), ilUtil::sendInfo(), and ilUtil::stripSlashes().
Referenced by listUsersGroupObject(), and listUsersRoleObject().
{
global $rbacsystem,$tree;
$_SESSION["grp_search_str"] = $_POST["search_str"] = $_POST["search_str"] ? $_POST["search_str"] : $_SESSION["grp_search_str"];
$_SESSION["grp_search_for"] = $_POST["search_for"] = $_POST["search_for"] ? $_POST["search_for"] : $_SESSION["grp_search_for"];
// MINIMUM ACCESS LEVEL = 'administrate'
if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
}
if(!isset($_POST["search_for"]) or !isset($_POST["search_str"]))
{
ilUtil::sendInfo($this->lng->txt("grp_search_enter_search_string"));
$this->searchUserFormObject();
return false;
}
if(!count($result = $this->__search(ilUtil::stripSlashes($_POST["search_str"]),$_POST["search_for"])))
{
ilUtil::sendInfo($this->lng->txt("grp_no_results_found"));
$this->searchUserFormObject();
return false;
}
$this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.grp_usr_selection.html");
$this->__showButton("searchUserForm",$this->lng->txt("grp_new_search"));
$counter = 0;
$f_result = array();
switch($_POST["search_for"])
{
case "usr":
foreach($result as $user)
{
if(!$tmp_obj = ilObjectFactory::getInstanceByObjId($user["id"],false))
{
continue;
}
$user_ids[$counter] = $user["id"];
$f_result[$counter][] = ilUtil::formCheckbox(0,"user[]",$user["id"]);
$f_result[$counter][] = $tmp_obj->getLogin();
$f_result[$counter][] = $tmp_obj->getFirstname();
$f_result[$counter][] = $tmp_obj->getLastname();
$f_result[$counter][] = ilFormat::formatDate($tmp_obj->getLastLogin());
unset($tmp_obj);
++$counter;
}
$this->__showSearchUserTable($f_result,$user_ids);
return true;
case "role":
foreach($result as $role)
{
// exclude anonymous role
if ($role["id"] == ANONYMOUS_ROLE_ID)
{
continue;
}
if(!$tmp_obj = ilObjectFactory::getInstanceByObjId($role["id"],false))
{
continue;
}
// exclude roles with no users assigned to
if ($tmp_obj->getCountMembers() == 0)
{
continue;
}
$role_ids[$counter] = $role["id"];
$f_result[$counter][] = ilUtil::formCheckbox(0,"role[]",$role["id"]);
$f_result[$counter][] = array($tmp_obj->getTitle(),$tmp_obj->getDescription());
$f_result[$counter][] = $tmp_obj->getCountMembers();
unset($tmp_obj);
++$counter;
}
$this->__showSearchRoleTable($f_result,$role_ids);
return true;
case "grp":
foreach($result as $group)
{
if(!$tree->isInTree($group["id"]))
{
continue;
}
if(!$tmp_obj = ilObjectFactory::getInstanceByRefId($group["id"],false))
{
continue;
}
// exclude myself :-)
if ($tmp_obj->getId() == $this->object->getId())
{
continue;
}
$grp_ids[$counter] = $group["id"];
$f_result[$counter][] = ilUtil::formCheckbox(0,"group[]",$group["id"]);
$f_result[$counter][] = array($tmp_obj->getTitle(),$tmp_obj->getDescription());
$f_result[$counter][] = $tmp_obj->getCountMembers();
unset($tmp_obj);
++$counter;
}
if(!count($f_result))
{
ilUtil::sendInfo($this->lng->txt("grp_no_results_found"));
$this->searchUserFormObject();
return false;
}
$this->__showSearchGroupTable($f_result,$grp_ids);
return true;
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjiLincCourseGUI::searchUserFormObject | ( | ) |
Definition at line 1178 of file class.ilObjiLincCourseGUI.php.
References $_SESSION, __unsetSessionVariables(), and ilUtil::formRadioButton().
Referenced by searchObject().
{
global $rbacsystem;
$this->lng->loadLanguageModule('search');
// MINIMUM ACCESS LEVEL = 'administrate'
if(!$rbacsystem->checkAccess("write", $this->object->getRefId()))
{
$this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
}
$this->tpl->addBlockFile("ADM_CONTENT","adm_content","tpl.grp_members_search.html");
$this->tpl->setVariable("F_ACTION",$this->ctrl->getFormAction($this));
$this->tpl->setVariable("SEARCH_ASSIGN_USR",$this->lng->txt("grp_search_members"));
$this->tpl->setVariable("SEARCH_SEARCH_TERM",$this->lng->txt("search_search_term"));
$this->tpl->setVariable("SEARCH_VALUE",$_SESSION["grp_search_str"] ? $_SESSION["grp_search_str"] : "");
$this->tpl->setVariable("SEARCH_FOR",$this->lng->txt("exc_search_for"));
$this->tpl->setVariable("SEARCH_ROW_TXT_USER",$this->lng->txt("exc_users"));
$this->tpl->setVariable("SEARCH_ROW_TXT_ROLE",$this->lng->txt("exc_roles"));
$this->tpl->setVariable("SEARCH_ROW_TXT_GROUP",$this->lng->txt("exc_groups"));
$this->tpl->setVariable("BTN2_VALUE",$this->lng->txt("cancel"));
$this->tpl->setVariable("BTN1_VALUE",$this->lng->txt("search"));
$usr = ($_POST["search_for"] == "usr" || $_POST["search_for"] == "") ? 1 : 0;
$grp = ($_POST["search_for"] == "grp") ? 1 : 0;
$role = ($_POST["search_for"] == "role") ? 1 : 0;
$this->tpl->setVariable("SEARCH_ROW_CHECK_USER",ilUtil::formRadioButton($usr,"search_for","usr"));
$this->tpl->setVariable("SEARCH_ROW_CHECK_ROLE",ilUtil::formRadioButton($role,"search_for","role"));
$this->tpl->setVariable("SEARCH_ROW_CHECK_GROUP",ilUtil::formRadioButton($grp,"search_for","grp"));
$this->__unsetSessionVariables();
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjiLincCourseGUI::showProfileObject | ( | ) |
Definition at line 2100 of file class.ilObjiLincCourseGUI.php.
References $_GET, $out, __setSubTabs(), and ilUtil::sendInfo().
{
include_once './Services/User/classes/class.ilObjUserGUI.php';
$this->__setSubTabs('members');
$user_gui = new ilObjUserGUI("",$_GET["user"], false, false);
// SHOW PUBLIC PROFILE OR WARNING IF NOT PUBLIC
if (($out = $user_gui->getPublicProfile())!="")
{
$this->tpl->setVariable("ADM_CONTENT","<center>".$out."</center>");
}
else
{
ilUtil::sendInfo($this->lng->txt('public_profile_not_visible'));
}
}
Here is the call graph for this function:| ilObjiLincCourseGUI::updateMemberStatusObject | ( | ) |
displays form in which the member-status can be changed public
Definition at line 1732 of file class.ilObjiLincCourseGUI.php.
References $user, ilUtil::redirect(), and ilUtil::sendInfo().
{
global $rbacsystem;
if (!$rbacsystem->checkAccess("write",$this->object->getRefId()) )
{
$this->ilErr->raiseError("permission_denied",$this->ilErr->MESSAGE);
}
if (isset($_POST["member_status_select"]))
{
foreach ($_POST["member_status_select"] as $key=>$value)
{
$this->object->leave($key);
$this->object->join($key,$value);
}
}
if (isset($_POST["ilinc_member_status_select"]))
{
$users_to_add = array();
$users_to_register = array();
$users_to_unregister = array();
foreach ($_POST["ilinc_member_status_select"] as $user_id => $ilinc_arr)
{
$ilinc_user_id = key($ilinc_arr);
$ilinc_user_status = current($ilinc_arr);
//var_dump($user_id,$ilinc_arr,$ilinc_user_id,$ilinc_user_status);
// if no ilinc user id was passed, there are 3 options:
// 1. user was added by roleassignment and is registered on iLinc server
// 2. user was added by roleassignment and is registered NOT YET on iLinc server
// 3. iLinc server returns an empty response which happens sometimes :-(
if ($ilinc_user_id == 0)
{
//echo "0";
// check if user is already registered on iLinc server
$user_obj = new ilObjUser($user_id);
include_once ('class.ilObjiLincUser.php');
$ilinc_user = new ilObjiLincUser($user_obj);
if (!$ilinc_user->id)
{
// not registered. put user on 'add list'
$users_to_add[] =& $user_obj;
}
else
{
$users_to_register[$ilinc_user->id] = ILINC_MEMBER_STUDENT;
}
continue;
}
//echo "1";
$users_to_unregister[] = $ilinc_user_id;
$users_to_register[$ilinc_user_id] = $ilinc_user_status;
//var_dump($users_to_unregister,$users_to_register);
}
if (!$this->object->unregisterUsers($users_to_unregister))
{
//echo "2";
//var_dump($this->object->getErrorMsg());exit;
$this->ilErr->raiseError($this->object->getErrorMsg(),$this->ilErr->MESSAGE);
}
if (count($users_to_add) > 0)
{
//echo "3";
foreach ($users_to_add as $user)
{
if (!$this->object->addUser($user))
{
//echo "4";
//var_dump($this->object->getErrorMsg());exit;
$this->ilErr->raiseError($this->object->getErrorMsg(),$this->ilErr->MESSAGE);
}
else
{
//echo "5";
include_once ('class.ilObjiLincUser.php');
$ilinc_user = new ilObjiLincUser($user);
$users_to_register[$ilinc_user->id] = ILINC_MEMBER_STUDENT;
}
}
}
if (!$this->object->registerUsers($users_to_register))
{
//echo "6";
//var_dump($this->object->getErrorMsg());exit;
$this->ilErr->raiseError($this->object->getErrorMsg(),$this->ilErr->MESSAGE);
}
}
//echo "ende";exit;
ilUtil::sendInfo($this->lng->txt("msg_obj_modified"),true);
ilUtil::redirect($this->ctrl->getLinkTarget($this,"members"));
}
Here is the call graph for this function:| ilObjiLincCourseGUI::updateObject | ( | ) |
updates object entry in object_data
public
Reimplemented from ilObjectGUI.
Definition at line 122 of file class.ilObjiLincCourseGUI.php.
References $_GET, $success, ilUtil::prepareDBString(), ilUtil::redirect(), ilUtil::sendInfo(), and ilUtil::tf2yn().
{
global $rbacsystem;
if (!$rbacsystem->checkAccess("write",$_GET["ref_id"]) )
{
$this->ilErr->raiseError($this->lng->txt("permission_denied"),$this->ilErr->MESSAGE);
}
// check required fields
if (empty($_POST["Fobject"]["title"]))
{
$this->ilErr->raiseError($this->lng->txt("fill_out_all_required_fields"),$this->ilErr->MESSAGE);
}
// check akclassvalues if active
if (empty($_POST["Fobject"]["akclassvalue1"]) and $this->ilias->getSetting("ilinc_akclassvalues_active") and $this->ilias->getSetting("ilinc_akclassvalues_required"))
{
$this->ilErr->raiseError($this->lng->txt("fill_out_all_required_fields"),$this->ilErr->MESSAGE);
}
$this->object->setTitle(ilUtil::prepareDBString($_POST["Fobject"]["title"]));
$this->object->setDescription(ilUtil::prepareDBString($_POST["Fobject"]["desc"]));
$this->object->activated = ilUtil::tf2yn($_POST["Fobject"]["activated"]);
// update akclassvalues only if iLinc is active
if ($this->ilias->getSetting("ilinc_akclassvalues_active"))
{
if ($this->object->getAKClassValue1() == $_POST["Fobject"]["akclassvalue1"])
{
unset($_POST["Fobject"]["akclassvalue1"]);
}
else
{
$this->object->setAKClassValue1(ilUtil::prepareDBString($_POST["Fobject"]["akclassvalue1"]));
}
if ($this->object->getAKClassValue2() == $_POST["Fobject"]["akclassvalue2"])
{
unset($_POST["Fobject"]["akclassvalue2"]);
}
else
{
$this->object->setAKClassValue2(ilUtil::prepareDBString($_POST["Fobject"]["akclassvalue2"]));
}
}
// save changes to ilinc server and ilias database
$success = $this->object->update();
if ($success == false)
{
$this->ilErr->raiseError($this->object->getErrorMsg(),$this->ilErr->MESSAGE);
}
// update all akclassvalues of classes if akclassvalues has changed
if (array_key_exists('akclassvalue1',$_POST["Fobject"]) or array_key_exists('akclassvalue2',$_POST["Fobject"]))
{
if (!$this->object->updateClassrooms())
{
ilUtil::sendInfo($this->lng->txt($this->object->getErrorMsg()));
return;
}
}
ilUtil::sendInfo($this->lng->txt("msg_obj_modified"),true);
ilUtil::redirect($this->ctrl->getLinkTarget($this,"edit"));
}
Here is the call graph for this function:| ilObjiLincCourseGUI::viewObject | ( | ) |
list childs of current object
public
Reimplemented from ilObjectGUI.
Definition at line 1069 of file class.ilObjiLincCourseGUI.php.
References ilContainerGUI::renderObject().
{
if ($this->ctrl->getTargetScript() == "adm_object.php")
{
parent::viewObject();
return true;
}
$this->renderObject();
return true;
}
Here is the call graph for this function:
1.7.1