/**
  * Prepares and displays settings form.
  * @param ilPropertyFormGUI $settingsForm
  */
 public function general(ilPropertyFormGUI $settingsForm = null)
 {
     /**
      * @var $lng    ilLanguage
      * @var $tpl    ilTemplate
      * @var $ilCtrl ilCtrl
      */
     global $lng, $tpl, $ilCtrl;
     if (!ilChatroom::checkUserPermissions(array('read', 'write'), $this->gui->ref_id)) {
         $ilCtrl->setParameterByClass('ilrepositorygui', 'ref_id', ROOT_FOLDER_ID);
         $ilCtrl->redirectByClass('ilrepositorygui', '');
     }
     $chatSettings = new ilSetting('chatroom');
     if (!$chatSettings->get('chat_enabled')) {
         ilUtil::sendInfo($lng->txt('server_disabled'), true);
     }
     $this->gui->switchToVisibleMode();
     $formFactory = new ilChatroomFormFactory();
     if (!$settingsForm) {
         $settingsForm = $formFactory->getSettingsForm();
     }
     $room = ilChatRoom::byObjectId($this->gui->object->getId());
     $settings = array('title' => $this->gui->object->getTitle(), 'desc' => $this->gui->object->getDescription());
     if ($room) {
         ilChatroomFormFactory::applyValues($settingsForm, array_merge($settings, $room->getSettings()));
     } else {
         ilChatroomFormFactory::applyValues($settingsForm, $settings);
     }
     $settingsForm->setTitle($lng->txt('settings_title'));
     $settingsForm->addCommandButton('settings-saveGeneral', $lng->txt('save'));
     $settingsForm->setFormAction($ilCtrl->getFormAction($this->gui, 'settings-saveGeneral'));
     $tpl->setVariable('ADM_CONTENT', $settingsForm->getHtml());
 }
 /**
  * @param int $invited_id
  */
 private function inviteById($invited_id)
 {
     /**
      * @var $ilUser ilObjUser
      * @var $ilCtrl ilCtrl
      */
     global $ilUser, $ilCtrl;
     if (!ilChatroom::checkUserPermissions('read', $this->gui->ref_id)) {
         $ilCtrl->setParameterByClass('ilrepositorygui', 'ref_id', ROOT_FOLDER_ID);
         $ilCtrl->redirectByClass('ilrepositorygui', '');
     }
     $room = ilChatroom::byObjectId($this->gui->object->getId());
     $chat_user = new ilChatroomUser($ilUser, $room);
     $user_id = $chat_user->getUserId();
     if (!$room) {
         $response = json_encode(array('success' => false, 'reason' => 'unkown room'));
         echo json_encode($response);
         exit;
     } else {
         if ($_REQUEST['sub'] && !$room->isOwnerOfPrivateRoom($user_id, $_REQUEST['sub'])) {
             $response = json_encode(array('success' => false, 'reason' => 'not owner of private room'));
             echo json_encode($response);
             exit;
         }
     }
     $connector = $this->gui->getConnector();
     $result = $connector->inviteToPrivateRoom($room, $_REQUEST['sub'], $ilUser, $invited_id);
     $room->sendInvitationNotification($this->gui, $chat_user, $invited_id, (int) $_REQUEST['sub']);
     echo json_encode($result);
     exit;
 }
Пример #3
0
 /**
  * @param ilPropertyFormGUI $form
  */
 public function clientsettings(ilPropertyFormGUI $form = null)
 {
     /**
      * @var $tpl    ilTemplate
      * @var $ilCtrl ilCtrl
      * @var $lng    ilLanguage
      */
     global $tpl, $ilCtrl, $lng;
     ilChatroom::checkUserPermissions('read', $this->gui->ref_id);
     $this->defaultActions();
     $this->gui->switchToVisibleMode();
     $this->showSoapWarningIfNeeded();
     require_once 'Modules/Chatroom/classes/class.ilChatroomAdmin.php';
     $adminSettings = new ilChatroomAdmin($this->gui->object->getId());
     if ($form === null) {
         require_once 'Modules/Chatroom/classes/class.ilChatroomFormFactory.php';
         $factory = new ilChatroomFormFactory();
         $form = $factory->getClientSettingsForm();
         if (!$this->commonSettings->get('soap_user_administration')) {
             $form->getItemByPostVar('chat_enabled')->setDisabled(!(bool) $this->commonSettings->get('soap_user_administration'));
             $form->getItemByPostVar('chat_enabled')->setChecked(0);
         }
         $data = (array) $adminSettings->loadClientSettings();
         if (!$data['osd_intervall']) {
             $data['osd_intervall'] = 60;
         }
         if (!$data) {
             $data = array();
         }
         if (!$data['url']) {
             $data['url'] = ilUtil::_getHttpPath();
         }
         if (!$data['client']) {
             $data['client'] = CLIENT_ID;
         }
         $data['password_retype'] = $data['password'];
         $form->setValuesByArray($data);
     }
     require_once 'Modules/Chatroom/classes/class.ilChatroomServerConnector.php';
     $serverSettings = (array) $adminSettings->loadGeneralSettings();
     if ($serverSettings['port'] && $serverSettings['address'] && !(bool) @ilChatroomServerConnector::checkServerConnection()) {
         ilUtil::sendInfo($lng->txt('chat_cannot_connect_to_server'));
     }
     $form->setTitle($lng->txt('general_settings_title'));
     $form->addCommandButton('view-saveClientSettings', $lng->txt('save'));
     $form->setFormAction($ilCtrl->getFormAction($this->gui, 'view-saveClientSettings'));
     $settingsTpl = new ilTemplate('tpl.chatroom_serversettings.html', true, true, 'Modules/Chatroom');
     $settingsTpl->setVariable('VAL_SERVERSETTINGS_FORM', $form->getHTML());
     $settingsTpl->setVariable('LBL_SERVERSETTINGS_FURTHER_INFORMATION', sprintf($lng->txt('server_further_information'), ilUtil::_getHttpPath() . '/Modules/Chatroom/server/README.txt'));
     $tpl->setVariable('ADM_CONTENT', $settingsTpl->get());
 }
Пример #4
0
 /**
  * Performs logout.
  */
 public function logout()
 {
     /**
      * @var $tree   ilTree
      * @var $ilCtrl ilCtrl
      */
     global $tree, $ilCtrl;
     /**
      * @todo logout user from room
      */
     $pid = $tree->getParentId($this->gui->getRefId());
     $ilCtrl->setParameterByClass('ilrepositorygui', 'ref_id', $pid);
     $ilCtrl->redirectByClass('ilrepositorygui', '');
 }
 /**
  * Constructor
  * @param array   $a_data
  * @param int     $a_id
  * @param boolean $a_call_by_reference
  */
 public function __construct($a_data = null, $a_id = null, $a_call_by_reference = true)
 {
     /**
      * @var $lng ilLanguage
      */
     global $lng;
     $lng->loadLanguageModule('chatroom_adm');
     if ($a_data == null) {
         if ($_GET['serverInquiry']) {
             require_once dirname(__FILE__) . '/class.ilChatroomServerHandler.php';
             new ilChatroomServerHandler();
             return;
         }
     }
     $this->type = 'chta';
     parent::__construct($a_data, $a_id, $a_call_by_reference, false);
 }
 /**
  * Switches to visible mode and prepares template.
  *
  * @global ilTemplate $tpl
  * @param string $method
  */
 public function executeDefault($method)
 {
     global $tpl;
     $this->gui->switchToVisibleMode();
     $tpl->setVariable('ADM_CONTENT', 'hallo welt');
 }
Пример #7
0
 /**
  * @param string $a_new_type
  * @return array
  */
 protected function initCreationForms($a_new_type)
 {
     $forms = parent::initCreationForms($a_new_type);
     unset($forms[self::CFORM_IMPORT]);
     $forms[self::CFORM_NEW]->clearCommandButtons();
     $forms[self::CFORM_NEW]->addCommandButton('create-save', $this->lng->txt($a_new_type . '_add'));
     $forms[self::CFORM_NEW]->addCommandButton('cancel', $this->lng->txt('cancel'));
     return $forms;
 }