• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

chat/classes/class.ilObjChatServerGUI.php

Go to the documentation of this file.
00001 <?php
00002 /*
00003         +-----------------------------------------------------------------------------+
00004         | ILIAS open source                                                           |
00005         +-----------------------------------------------------------------------------+
00006         | Copyright (c) 1998-2001 ILIAS open source, University of Cologne            |
00007         |                                                                             |
00008         | This program is free software; you can redistribute it and/or               |
00009         | modify it under the terms of the GNU General Public License                 |
00010         | as published by the Free Software Foundation; either version 2              |
00011         | of the License, or (at your option) any later version.                      |
00012         |                                                                             |
00013         | This program is distributed in the hope that it will be useful,             |
00014         | but WITHOUT ANY WARRANTY; without even the implied warranty of              |
00015         | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               |
00016         | GNU General Public License for more details.                                |
00017         |                                                                             |
00018         | You should have received a copy of the GNU General Public License           |
00019         | along with this program; if not, write to the Free Software                 |
00020         | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. |
00021         +-----------------------------------------------------------------------------+
00022 */
00023 
00024 
00035 require_once "classes/class.ilObjectGUI.php";
00036 
00037 class ilObjChatServerGUI extends ilObjectGUI
00038 {
00043         function ilObjChatServerGUI($a_data,$a_id,$a_call_by_reference = true, $a_prepare_output = true)
00044         {
00045                 define("ILIAS_MODULE","chat");
00046 
00047                 $this->type = "chac";
00048                 $this->ilObjectGUI($a_data,$a_id,$a_call_by_reference, $a_prepare_output);
00049 
00050                 $this->lng->loadLanguageModule("chat");
00051         }
00052 
00053         function editObject()
00054         {
00055                 global $rbacsystem;
00056 
00057                 if (!$rbacsystem->checkAccess("read", $this->ref_id))
00058                 {
00059                         $this->ilias->raiseError($this->lng->txt("msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
00060                 }
00061                 $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.chac_edit.html",true);
00062 
00063         $internal_ip = $_SESSION["error_post_vars"]["chat_internal_ip"] ? 
00064             $_SESSION["error_post_vars"]["chat_internal_ip"] :
00065             $this->object->server_conf->getInternalIp();
00066 
00067                 $port = $_SESSION["error_post_vars"]["chat_port"] ? 
00068                         $_SESSION["error_post_vars"]["chat_port"] :
00069                         $this->object->server_conf->getPort();
00070 
00071                 $moderator = $_SESSION["error_post_vars"]["chat_moderator"] ? 
00072                         $_SESSION["error_post_vars"]["chat_moderator"] :
00073                         $this->object->server_conf->getModeratorPassword();
00074 
00075                 $logfile = $_SESSION["error_post_vars"]["chat_logfile"] ? 
00076                         $_SESSION["error_post_vars"]["chat_logfile"] :
00077                         $this->object->server_conf->getLogfile();
00078 
00079                 $loglevel = $_SESSION["error_post_vars"]["chat_loglevel"] ? 
00080                         $_SESSION["error_post_vars"]["chat_loglevel"] :
00081                         $this->object->server_conf->getLogLevel();
00082 
00083         $allowed = $_SESSION["error_post_vars"]["chat_allowed"] ? 
00084             $_SESSION["error_post_vars"]["chat_internal_ip"] :
00085             $this->object->server_conf->getAllowedHosts();
00086 
00087                 $active = $_SESSION["error_post_vars"]["chat_active"] ?
00088                         $_SESSION["error_post_vars"]["chat_active"] :
00089                         $this->object->server_conf->getActiveStatus();
00090 
00091                 
00092                 if($this->object->server_conf->isAlive() or $this->object->server_conf->getActiveStatus())
00093                 {
00094                         $this->tpl->setCurrentBlock("chat_active");
00095                         $this->tpl->setVariable("TXT_ACT_CHAT",$this->lng->txt("chat_ilias"));
00096                         $this->tpl->setVariable("TXT_ACT_STATUS",$this->lng->txt("chat_status"));
00097                         $this->tpl->setVariable("TXT_ACT_SUBMIT",$this->lng->txt("change"));
00098                         $this->tpl->setVariable("SELECT_ACT_STATUS",$this->__getStatusSelect($active));
00099                 }
00100                         
00101 
00102 
00103                 // SET TEXT VARIABLES
00104                 $this->tpl->setVariable("FORMACTION", 
00105                                                                 $this->getFormAction("gateway","adm_object.php?ref_id=".$this->ref_id."&cmd=gateway"));
00106                 $this->tpl->setVariable("TXT_CHAT_SERVER_SETTINGS",$this->lng->txt("chat_server_settings"));
00107         $this->tpl->setVariable("TXT_CHAT_SERVER_INTERNAL_IP",$this->lng->txt("chat_server_internal_ip"));
00108         $this->tpl->setVariable("TXT_CHAT_SERVER_EXTERNAL_IP",$this->lng->txt("chat_server_external_ip"));
00109                 $this->tpl->setVariable("TXT_CHAT_SERVER_MODERATOR",$this->lng->txt("chat_moderator_password"));
00110                 $this->tpl->setVariable("TXT_CHAT_SERVER_PORT",$this->lng->txt("chat_server_port"));
00111                 $this->tpl->setVariable("TXT_CHAT_SERVER_LOGFILE",$this->lng->txt("chat_server_logfile"));
00112                 $this->tpl->setVariable("TXT_CHAT_SERVER_LEVEL",$this->lng->txt("chat_server_loglevel"));
00113                 $this->tpl->setVariable("TXT_CHAT_SERVER_ALLOWED",$this->lng->txt("chat_server_allowed"));
00114                 $this->tpl->setVariable("TXT_CHAT_SERVER_ALLOWED_B",$this->lng->txt("chat_server_allowed_b"));
00115                 $this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field"));
00116                 $this->tpl->setVariable("TXT_CANCEL",$this->lng->txt("cancel"));
00117                 $this->tpl->setVariable("TXT_SUBMIT",$this->lng->txt("save"));
00118 
00119                 // SET SETTING VARS
00120         $this->tpl->setVariable("CHAT_SERVER_INTERNAL",$internal_ip);
00121         $this->tpl->setVariable("CHAT_SERVER_EXTERNAL",$external_ip);
00122                 $this->tpl->setVariable("CHAT_PORT",$port);
00123                 $this->tpl->setVariable("CHAT_MODERATOR",$moderator);
00124                 $this->tpl->setVariable("CHAT_LOGFILE",$logfile);
00125                 $this->tpl->setVariable("CHAT_ALLOWED",$allowed);
00126                 $this->tpl->setVariable("SELECT_LEVEL",$this->__getLogLevelSelect($loglevel));
00127                 $this->tpl->parseCurrentBlock();
00128                 
00129                 return true;
00130         }
00131 
00132         function updateObject()
00133         {
00134         $this->object->server_conf->setInternalIp($_POST["chat_internal_ip"]);
00135         $this->object->server_conf->setExternalIp($_POST["chat_external_ip"]);
00136                 $this->object->server_conf->setPort($_POST["chat_port"]);
00137                 $this->object->server_conf->setModeratorPassword($_POST["chat_moderator"]);
00138                 $this->object->server_conf->setLogfile($_POST["chat_logfile"]);
00139                 $this->object->server_conf->setLogLevel($_POST["chat_loglevel"]);
00140                 $this->object->server_conf->setAllowedHosts($_POST["chat_allowed"]);
00141 
00142                 if(!$this->object->server_conf->validate())
00143                 {
00144                         $this->ilias->raiseError($this->object->server_conf->getErrorMessage(),$this->ilias->error_obj->MESSAGE);
00145                 }
00146                 else
00147                 {
00148                         if(!$this->object->server_conf->update())
00149                         {
00150                                 $this->ilias->raiseError($this->object->server_conf->getErrorMessage(),$this->ilias->error_obj->MESSAGE);
00151                         }
00152                 }
00153                 sendInfo($this->lng->txt("chat_settings_saved"),true);
00154                 header("location: ".$this->getReturnLocation("update","adm_object.php?ref_id=$_GET[ref_id]"));
00155                 exit;
00156         }
00157 
00158         function activateObject()
00159         {
00160                 $this->object->server_conf->setActiveStatus((bool) $_POST["chat_active"]);
00161                 $this->object->server_conf->updateStatus();
00162 
00163                 sendInfo($this->lng->txt("chat_status_saved"),true);
00164                 header("location: ".$this->getReturnLocation("update","adm_object.php?ref_id=$_GET[ref_id]"));
00165                 exit;
00166         }
00167 
00168         // PRIVATE
00169         function __getLogLevelSelect($a_level)
00170         {
00171                 $levels = array(1 => $this->lng->txt("chat_level_fatal"),
00172                                                 2 => $this->lng->txt("chat_level_error"),
00173                                                 3 => $this->lng->txt("chat_level_info"),
00174                                                 5 => $this->lng->txt("chat_level_debug"),
00175                                                 6 => $this->lng->txt("chat_level_all"));
00176 
00177                 return ilUtil::formSelect($a_level,"chat_loglevel",$levels,false,true);
00178         }
00179         function __getStatusSelect($a_status)
00180         {
00181                 $stati = array(1 => $this->lng->txt("chat_active"),
00182                                            0 => $this->lng->txt("chat_inactive"));
00183 
00184                 return ilUtil::formSelect($a_status,"chat_active",$stati,false,true);
00185         }
00186 
00187 } // END class.ilObjChatServerGUI
00188 
00189 ?>

Generated on Fri Dec 13 2013 08:00:14 for ILIAS Release_3_3_x_branch .rev 46803 by  doxygen 1.7.1