4require_once 
'Services/Mail/classes/class.ilFormatMail.php';
 
    5require_once 
'Services/Contact/BuddySystem/classes/class.ilBuddySystem.php';
 
   82        $this->tpl = 
$DIC[
'tpl'];
 
   83        $this->ctrl = 
$DIC[
'ilCtrl'];
 
   84        $this->lng = 
$DIC[
'lng'];
 
   85        $this->tabs_gui = 
$DIC[
'ilTabs'];
 
   86        $this->help = 
$DIC[
'ilHelp'];
 
   87        $this->toolbar = 
$DIC[
'ilToolbar'];
 
   88        $this->
user = $DIC[
'ilUser'];
 
   89        $this->
error = $DIC[
'ilErr'];
 
   90        $this->rbacsystem = 
$DIC[
'rbacsystem'];
 
   92        $this->ctrl->saveParameter($this, 
"mobj_id");
 
   95        $this->lng->loadLanguageModule(
'buddysystem');
 
  102        $forward_class = $this->ctrl->getNextClass($this);
 
  105        $this->umail->savePostData($this->
user->getId(), array(), 
'', 
'', 
'', 
'', 
'', 
'', 
'', 
'');
 
  107        switch ($forward_class) {
 
  108            case 'ilmailformgui':
 
  109                include_once 
'Services/Mail/classes/class.ilMailFormGUI.php';
 
  113            case 'ilmailsearchcoursesgui':
 
  114                include_once 
'Services/Contact/classes/class.ilMailSearchCoursesGUI.php';
 
  118                $this->ctrl->setReturn($this, 
"showContacts");
 
  122            case 'ilmailsearchgroupsgui':
 
  123                include_once 
'Services/Contact/classes/class.ilMailSearchGroupsGUI.php';
 
  127                $this->ctrl->setReturn($this, 
"showContacts");
 
  131            case 'ilmailinglistsgui':
 
  132                include_once 
'Services/Contact/classes/class.ilMailingListsGUI.php';
 
  136                $this->ctrl->setReturn($this, 
"showContacts");
 
  140            case 'ilusersgallerygui':
 
  142                    $this->
error->raiseError($this->lng->txt(
'msg_no_perm_read'), $this->error->MESSAGE);
 
  145                $this->tabs_gui->activateSubTab(
'buddy_view_gallery');
 
  147                require_once 
'Services/User/Gallery/classes/class.ilUsersGalleryContacts.php';
 
  148                require_once 
'Services/User/Gallery/classes/class.ilUsersGalleryGUI.php';
 
  153            case 'ilpublicuserprofilegui':
 
  154                require_once 
'Services/User/classes/class.ilPublicUserProfileGUI.php';
 
  156                $profile_gui->setBackUrl($this->ctrl->getLinkTarget($this, 
'showContacts'));
 
  157                $this->ctrl->forwardCommand($profile_gui);
 
  164                if (!($cmd = $this->ctrl->getCmd())) {
 
  166                        $cmd = 
'showContacts';
 
  168                        $this->ctrl->redirectByClass(
'ilmailsearchcoursesgui');
 
  183        if ($this->tabs_gui->hasTabs()) {
 
  185                $this->tabs_gui->addSubTab(
'my_contacts', $this->lng->txt(
'my_contacts'), $this->ctrl->getLinkTarget($this));
 
  187                if (in_array(strtolower($this->ctrl->getCmdClass()), array_map(
'strtolower', array(
'ilUsersGalleryGUI', get_class($this))))) {
 
  188                    require_once 
'Services/Form/classes/class.ilSelectInputGUI.php';
 
  190                    $view_selection->setOptions(array(
 
  191                        self::CONTACTS_VIEW_TABLE => $this->lng->txt(
'buddy_view_table'),
 
  192                        self::CONTACTS_VIEW_GALLERY => $this->lng->txt(
'buddy_view_gallery')
 
  194                    $view_selection->setValue(
 
  195                        strtolower($this->ctrl->getCmdClass()) == 
'ilusersgallerygui' ? self::CONTACTS_VIEW_GALLERY : self::CONTACTS_VIEW_TABLE
 
  197                    $this->toolbar->addInputItem($view_selection);
 
  199                    require_once 
'Services/UIComponent/Button/classes/class.ilSubmitButton.php';
 
  201                    $contact_view_btn->setCaption(
'submit');
 
  202                    $contact_view_btn->setCommand(
'changeContactsView');
 
  203                    $this->toolbar->addButtonInstance($contact_view_btn);
 
  204                    $this->toolbar->setFormAction($this->ctrl->getFormAction($this, 
'changeContactsView'));
 
  211                    $this->tabs_gui->addSubTab(
 
  212                        'mail_my_mailing_lists',
 
  213                        $this->lng->txt(
'mail_my_mailing_lists'),
 
  214                        $this->ctrl->getLinkTargetByClass(
'ilmailinglistsgui')
 
  219            $this->tabs_gui->addSubTab(
'mail_my_courses', $this->lng->txt(
'mail_my_courses'), $this->ctrl->getLinkTargetByClass(
'ilmailsearchcoursesgui'));
 
  220            $this->tabs_gui->addSubTab(
'mail_my_groups', $this->lng->txt(
'mail_my_groups'), $this->ctrl->getLinkTargetByClass(
'ilmailsearchgroupsgui'));
 
  221            $this->has_sub_tabs = 
true;
 
  223            $this->help->setScreenIdComponent(
'contacts');
 
  226                $this->tabs_gui->addTab(
'my_contacts', $this->lng->txt(
'my_contacts'), $this->ctrl->getLinkTarget($this));
 
  228                if (in_array(strtolower($this->ctrl->getCmdClass()), array_map(
'strtolower', array(
'ilUsersGalleryGUI', get_class($this))))) {
 
  229                    $this->tabs_gui->addSubTab(
'buddy_view_table', $this->lng->txt(
'buddy_view_table'), $this->ctrl->getLinkTarget($this));
 
  230                    $this->tabs_gui->addSubTab(
'buddy_view_gallery', $this->lng->txt(
'buddy_view_gallery'), $this->ctrl->getLinkTargetByClass(
'ilUsersGalleryGUI'));
 
  237                    $this->tabs_gui->addTab(
 
  238                        'mail_my_mailing_lists',
 
  239                        $this->lng->txt(
'mail_my_mailing_lists'),
 
  240                        $this->ctrl->getLinkTargetByClass(
'ilmailinglistsgui')
 
  245            $this->tabs_gui->addTab(
'mail_my_courses', $this->lng->txt(
'mail_my_courses'), $this->ctrl->getLinkTargetByClass(
'ilmailsearchcoursesgui'));
 
  246            $this->tabs_gui->addTab(
'mail_my_groups', $this->lng->txt(
'mail_my_groups'), $this->ctrl->getLinkTargetByClass(
'ilmailsearchgroupsgui'));
 
  255        if ($this->has_sub_tabs) {
 
  256            $this->tabs_gui->activateSubTab($a_id);
 
  258            $this->tabs_gui->activateTab($a_id);
 
  268            $this->
error->raiseError($this->lng->txt(
'msg_no_perm_read'), $this->error->MESSAGE);
 
  271        if (isset(
$_POST[
'contacts_view'])) {
 
  272            switch (
$_POST[
'contacts_view']) {
 
  274                    $this->ctrl->redirectByClass(
'ilUsersGalleryGUI');
 
  278                    $this->ctrl->redirect($this);
 
  283        $this->ctrl->redirect($this);
 
  292            $this->
error->raiseError($this->lng->txt(
'msg_no_perm_read'), $this->error->MESSAGE);
 
  295        require_once 
'Services/Contact/BuddySystem/classes/tables/class.ilBuddySystemRelationsTableGUI.php';
 
  299        $table->writeFilterToSession();
 
  310            $this->
error->raiseError($this->lng->txt(
'msg_no_perm_read'), $this->error->MESSAGE);
 
  313        require_once 
'Services/Contact/BuddySystem/classes/tables/class.ilBuddySystemRelationsTableGUI.php';
 
  328            $this->
error->raiseError($this->lng->txt(
'msg_no_perm_read'), $this->error->MESSAGE);
 
  331        $this->tabs_gui->activateSubTab(
'buddy_view_table');
 
  334        require_once 
'Services/Contact/BuddySystem/classes/tables/class.ilBuddySystemRelationsTableGUI.php';
 
  337        $this->tpl->setContent(
$table->getHTML());
 
  347            $this->
error->raiseError($this->lng->txt(
'msg_no_perm_read'), $this->error->MESSAGE);
 
  350        if (!isset(
$_POST[
'usr_id']) || !is_array(
$_POST[
'usr_id']) || 0 == count(
$_POST[
'usr_id'])) {
 
  356        $usr_ids = (array) 
$_POST[
'usr_id'];
 
  358        $mail_data = $this->umail->getSavedData();
 
  359        if (!is_array($mail_data)) {
 
  360            $this->umail->savePostData($this->
user->getId(), array(), 
'', 
'', 
'', 
'', 
'', 
'', 
'', 
'');
 
  364        foreach ($usr_ids as $usr_id) {
 
  367        $logins = array_filter($logins);
 
  369        if (count($logins) > 0) {
 
  370            $mail_data = $this->umail->appendSearchResult($logins, 
'to');
 
  371            $this->umail->savePostData(
 
  372                $mail_data[
'user_id'],
 
  373                $mail_data[
'attachments'],
 
  374                $mail_data[
'rcp_to'],
 
  375                $mail_data[
'rcp_cc'],
 
  376                $mail_data[
'rcp_bcc'],
 
  377                $mail_data[
'm_type'],
 
  378                $mail_data[
'm_email'],
 
  379                $mail_data[
'm_subject'],
 
  380                $mail_data[
'm_message'],
 
  381                $mail_data[
'use_placeholders'],
 
  382                $mail_data[
'tpl_ctx_id'],
 
  383                $mail_data[
'tpl_ctx_params']
 
  396        if (!isset(
$_POST[
'usr_id']) || !strlen(
$_POST[
'usr_id'])) {
 
  398            $this->ctrl->redirect($this);
 
  409        $usr_ids = explode(
',', 
$_POST[
'usr_id']);
 
  412        $room_ids = explode(
',', 
$_POST[
'room_id']);
 
  413        $room_id = (int) $room_ids[0];
 
  416        if (count($room_ids) > 0) {
 
  417            $scope = (int) $room_ids[1];
 
  420        include_once 
'Modules/Chatroom/classes/class.ilChatroom.php';
 
  423        $no_access = array();
 
  425        $valid_users = array();
 
  426        $valid_user_to_login_map = array();
 
  428        foreach ($usr_ids as $usr_id) {
 
  431                $no_login[$usr_id] = $usr_id;
 
  435            $ref_id = $room->getRefIdByRoomId($room_id);
 
  439                $room->isUserBanned($usr_id)
 
  441                $no_access[$usr_id] = 
$login;
 
  443                $valid_users[$usr_id] = $usr_id;
 
  444                $valid_user_to_login_map[$usr_id] = 
$login;
 
  448        if (count($no_access) || count($no_login)) {
 
  451            if (count($no_access) > 0) {
 
  452                $message .= $this->lng->txt(
'chat_users_without_permission') . 
':<br>';
 
  455                foreach ($no_access as $usr_id => 
$login) {
 
  464            if (count($no_login)) {
 
  465                $message .= $this->lng->txt(
'chat_users_without_login') . 
':<br>';
 
  468                foreach ($no_login as $usr_id) {
 
  469                    $list .= 
'<li>' . $usr_id . 
'</li>';
 
  478            $_POST[
'usr_id'] = $usr_ids;
 
  483        $ref_id = $room->getRefIdByRoomId($room_id);
 
  485        require_once 
'Services/Link/classes/class.ilLink.php';
 
  491        $link = 
'<p><a target="chatframe" href="' . 
$url . 
'" title="' . $this->lng->txt(
'goto_invitation_chat') . 
'">' . $this->lng->txt(
'goto_invitation_chat') . 
'</a></p>';
 
  494        foreach ($valid_users as 
$id) {
 
  495            $room->inviteUserToPrivateRoom(
$id, $scope);
 
  496            $room->sendInvitationNotification(
 
  498                $this->
user->getId(),
 
  503            $userlist[] = 
'<li>' . $valid_user_to_login_map[
$id] . 
'</li>';
 
  507            ilUtil::sendSuccess($this->lng->txt(
'chat_users_have_been_invited') . 
'<ul>' . implode(
'', $userlist) . 
'</ul>' . $link, 
true);
 
  510        $this->ctrl->redirect($this);
 
  518        $this->tabs_gui->activateSubTab(
'buddy_view_table');
 
  521        $this->lng->loadLanguageModule(
'chatroom');
 
  523        if (!isset(
$_POST[
'usr_id']) || !is_array(
$_POST[
'usr_id']) || 0 == count(
$_POST[
'usr_id'])) {
 
  525            $this->ctrl->redirect($this);
 
  527        $usr_ids = 
$_POST[
'usr_id'];
 
  529        require_once 
'Modules/Chatroom/classes/class.ilChatroom.php';
 
  532        $chat_rooms = $ilChatroom->getAccessibleRoomIdByTitleMap($this->
user->getId());
 
  535        foreach ($chat_rooms as $room_id => 
$title) {
 
  536            $subrooms[] = $ilChatroom->getPrivateSubRooms($room_id, $this->
user->getId());
 
  539        include_once 
'Services/Form/classes/class.ilPropertyFormGUI.php';
 
  542        $form->setTitle($this->lng->txt(
'mail_invite_users_to_chat'));
 
  544        $psel = 
new ilSelectInputGUI($this->lng->txt(
'chat_select_room'), 
'room_id');
 
  548        foreach ($chat_rooms as $room_id => $room) {
 
  551            if ($ilChatroom->isUserBanned($this->user->getId())) {
 
  557            foreach ($subrooms as $subroom) {
 
  558                foreach ($subroom as $sub_id => $parent_id) {
 
  559                    if ($parent_id == $ref_id) {
 
  568        $form->addItem($psel);
 
  570        $phidden->setValue(implode(
',', $usr_ids));
 
  571        $form->addItem($phidden);
 
  572        $form->addCommandButton(
'submitInvitation', $this->lng->txt(
'submit'));
 
  573        $form->addCommandButton(
'showContacts', $this->lng->txt(
'cancel'));
 
  574        $form->setFormAction($this->ctrl->getFormAction($this, 
'showContacts'));
 
  576        $this->tpl->setTitle($this->lng->txt(
'mail_invite_users_to_chat'));
 
  577        $this->tpl->setContent(
$form->getHTML());
 
An exception for terminatinating execution or to throw for unit testing.
error($a_errmsg)
set error message @access public
static getInstanceByGlobalUser()
static lookupPrivateRoomTitle($proom_id)
static checkPermissionsOfUser($usr_id, $permissions, $ref_id)
Checks user permissions in question for a given user id in relation to a given ref_id.
static byRoomId($room_id, $initObject=false)
Returns ilChatroom by given $room_id.
static _getStaticLink( $a_ref_id, $a_type='', $a_fallback_goto=true, $append="")
Get static link.
static getMailObjectRefId()
Determines the reference id of the mail object and stores this information in a local cache variable.
static _lookupLogin($a_user_id)
lookup login
GUI class for public user profile presentation.
@ilCtrl_Calls ilUsersGalleryGUI: ilPublicUserProfileGUI @ilCtrl_isCalledBy ilUsersGalleryGUI: ilCours...
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
catch(Exception $e) $message
if(empty($password)) $table
if(isset($_POST['submit'])) $form
if(isset($_REQUEST['delete'])) $list