Public Member Functions

ilObjMailGUI Class Reference

Inheritance diagram for ilObjMailGUI:
Collaboration diagram for ilObjMailGUI:

Public Member Functions

 ilObjMailGUI ($a_data, $a_id, $a_call_by_reference)
 Constructor public.
 viewObject ()
 list childs of current object
 importObject ()
 import new object form
 performImportObject ()
 uploadObject ()
 __initFileObject ()
 __initParserObject ($a_xml, $a_mode)
executeCommand ()
 execute command
 getAdminTabs (&$tabs_gui)
 administration tabs show only permissions and trash folder
 getTabs (&$tabs_gui)
 get tabs public

Detailed Description

Definition at line 40 of file class.ilObjMailGUI.php.


Member Function Documentation

ilObjMailGUI::__initFileObject (  ) 

Definition at line 248 of file class.ilObjMailGUI.php.

Referenced by importObject(), performImportObject(), and uploadObject().

        {
                include_once "./classes/class.ilFileDataImportMail.php";

                $this->file_obj =& new ilFileDataImportMail();

                return true;
        }

Here is the caller graph for this function:

ilObjMailGUI::__initParserObject ( a_xml,
a_mode 
)

Definition at line 256 of file class.ilObjMailGUI.php.

Referenced by performImportObject(), and uploadObject().

        {
                include_once "./classes/class.ilMailImportParser.php";

                if(!$a_xml)
                {
                        return false;
                }

                $this->parser_obj =& new ilMailImportParser($a_xml,$a_mode);
                
                return true;
        }

Here is the caller graph for this function:

& ilObjMailGUI::executeCommand (  ) 

execute command

Reimplemented from ilObjectGUI.

Definition at line 270 of file class.ilObjMailGUI.php.

References $cmd, and ilObjectGUI::prepareOutput().

        {
                $next_class = $this->ctrl->getNextClass($this);
                $cmd = $this->ctrl->getCmd();
                $this->prepareOutput();

                switch($next_class)
                {
                        case 'ilpermissiongui':
                                include_once("./classes/class.ilPermissionGUI.php");
                                $perm_gui =& new ilPermissionGUI($this);
                                $ret =& $this->ctrl->forwardCommand($perm_gui);
                                break;

                        default:
                                if(!$cmd)
                                {
                                        $cmd = "view";
                                }
                                $cmd .= "Object";
                                $this->$cmd();

                                break;
                }
                return true;
        }

Here is the call graph for this function:

ilObjMailGUI::getAdminTabs ( &$  tabs_gui  ) 

administration tabs show only permissions and trash folder

Reimplemented from ilObjectGUI.

Definition at line 297 of file class.ilObjMailGUI.php.

References getTabs().

        {
                $this->getTabs($tabs_gui);
        }

Here is the call graph for this function:

ilObjMailGUI::getTabs ( &$  tabs_gui  ) 

get tabs public

Parameters:
object tabs gui object

Reimplemented from ilObjectGUI.

Definition at line 307 of file class.ilObjMailGUI.php.

References $rbacsystem.

Referenced by getAdminTabs().

        {
                global $rbacsystem;

                if ($rbacsystem->checkAccess("visible,read",$this->object->getRefId()))
                {
                        $tabs_gui->addTarget("settings",
                                $this->ctrl->getLinkTarget($this, "view"), array("view",""), "", "");
                }

                if ($rbacsystem->checkAccess('edit_permission',$this->object->getRefId()))
                {
                        $tabs_gui->addTarget("perm_settings",
                                $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"), array("perm","info","owner"), 'ilpermissiongui');
                }
                
                if ($rbacsystem->checkAccess('write',$this->object->getRefId()))
                {
                        $tabs_gui->addTarget("import",
                                $this->ctrl->getLinkTarget($this, "import"), "import", "", "");
                }
        }

Here is the caller graph for this function:

ilObjMailGUI::ilObjMailGUI ( a_data,
a_id,
a_call_by_reference 
)

Constructor public.

Definition at line 46 of file class.ilObjMailGUI.php.

References ilObjectGUI::ilObjectGUI().

        {
                $this->type = "mail";
                $this->ilObjectGUI($a_data,$a_id,$a_call_by_reference, false);
        }

Here is the call graph for this function:

ilObjMailGUI::importObject (  ) 

import new object form

public

Reimplemented from ilObjectGUI.

Definition at line 153 of file class.ilObjMailGUI.php.

References ilObjectGUI::$lng, $rbacsystem, __initFileObject(), and ilObjectGUI::getTemplateFile().

        {
                global $rbacsystem,$lng;

                if (!$rbacsystem->checkAccess('write',$this->object->getRefId()))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->WARNING);
                }
                $this->getTemplateFile("import");

                // GET ALREADY CREATED UPLOADED XML FILE
                $this->__initFileObject();
                if($this->file_obj->findXMLFile())
                {
                        $this->tpl->setVariable("TXT_IMPORTED_FILE",$lng->txt("checked_files"));
                        $this->tpl->setVariable("XML_FILE",basename($this->file_obj->getXMLFile()));

                        $this->tpl->setVariable("BTN_IMPORT",$this->lng->txt("import"));
                }

                $this->tpl->setVariable("FORMACTION",
                        $this->ctrl->getFormAction($this));
                $this->tpl->setVariable("TXT_IMPORT_MAIL",$this->lng->txt("table_mail_import"));
                $this->tpl->setVariable("TXT_IMPORT_FILE",$this->lng->txt("mail_import_file"));
                $this->tpl->setVariable("BTN_CANCEL",$this->lng->txt("cancel"));
                $this->tpl->setVariable("BTN_UPLOAD",$this->lng->txt("upload"));

                return true;
        }

Here is the call graph for this function:

ilObjMailGUI::performImportObject (  ) 

Definition at line 183 of file class.ilObjMailGUI.php.

References ilObjectGUI::$lng, $rbacsystem, __initFileObject(), __initParserObject(), and sendInfo().

        {
                global $rbacsystem,$lng;

                if (!$rbacsystem->checkAccess('write',$this->object->getRefId()))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->WARNING);
                }
                $this->__initFileObject();
                $this->file_obj->findXMLFile();
                $this->__initParserObject($this->file_obj->getXMLFile(),"import");
                $this->parser_obj->startParsing();
                $number = $this->parser_obj->getCountImported();
                sendInfo($lng->txt("import_finished")." ".$number,true);
                
                $this->ctrl->redirect($this, "import");
        }

Here is the call graph for this function:

ilObjMailGUI::uploadObject (  ) 

Definition at line 203 of file class.ilObjMailGUI.php.

References ilObjectGUI::$lng, $rbacsystem, __initFileObject(), __initParserObject(), and sendInfo().

        {
                global $rbacsystem,$lng;

                if (!$rbacsystem->checkAccess('write',$this->object->getRefId()))
                {
                        $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->WARNING);
                }
                
                $this->__initFileObject();
                if(!$this->file_obj->storeUploadedFile($_FILES["importFile"]))  // STEP 1 save file in ...import/mail
                {
                        $this->message = $lng->txt("import_file_not_valid"); 
                        $this->file_obj->unlinkLast();
                }
                else if(!$this->file_obj->unzip())
                {
                        $this->message = $lng->txt("cannot_unzip_file");                                        // STEP 2 unzip uplaoded file
                        $this->file_obj->unlinkLast();
                }
                else if(!$this->file_obj->findXMLFile())                                                // STEP 3 getXMLFile
                {
                        $this->message = $lng->txt("cannot_find_xml");
                        $this->file_obj->unlinkLast();
                }
                else if(!$this->__initParserObject($this->file_obj->getXMLFile(),"check"))
                {
                        $this->message = $lng->txt("error_parser");                             // STEP 4 init sax parser
                }
                else if(!$this->parser_obj->startParsing())
                {
                        $this->message = $lng->txt("users_not_imported").":<br/>"; // STEP 5 start parsing
                        $this->message .= $this->parser_obj->getNotAssignableUsers();
                }
                // FINALLY CHECK ERROR
                if(!$this->message)
                {
                        $this->message = $lng->txt("uploaded_and_checked");
                }
                sendInfo($this->message,true);
                
                $this->ctrl->redirect($this, "import");
        }

Here is the call graph for this function:

ilObjMailGUI::viewObject (  ) 

list childs of current object

public

Reimplemented from ilObjectGUI.

Definition at line 52 of file class.ilObjMailGUI.php.

References $_POST, and sendInfo().

        {
#               parent::editObject();
                
                $this->lng->loadLanguageModule("mail");

                $this->tpl->addBlockFile("SYSTEMSETTINGS", "systemsettings", "tpl.mail_basicdata.html");
                $this->tpl->setCurrentBlock("systemsettings");

                $settings = $this->ilias->getAllSettings();

                if (isset($_POST["save_settings"]))  // formular sent
                {
                        //init checking var
                        $form_valid = true;
                        
                        // put any checks here!!!

                        if (!$form_valid)       //required fields not satisfied. Set formular to already fill in values
                        {
                                // mail server
                                $settings["mail_server"] = $_POST["mail_server"];
                                $settings["mail_port"] = $_POST["mail_port"];

                                // internal mail
#                               $settings["mail_intern_enable"] = $_POST["mail_intern_enable"];
                                $settings["mail_maxsize_mail"] = $_POST["mail_maxsize_mail"];
                                $settings["mail_maxsize_attach"] = $_POST["mail_maxsize_attach"];
                                $settings["mail_maxsize_box"] = $_POST["mail_maxsize_box"];
                                $settings["mail_maxtime_mail"] = $_POST["mail_maxtime_mail"];
                                $settings["mail_maxtime_attach"] = $_POST["mail_maxtime_attach"];
                        }
                        else // all required fields ok
                        {

                // write new settings

                                // mail server
                                $this->ilias->setSetting("mail_server",$_POST["mail_server"]);
                                $this->ilias->setSetting("mail_port",$_POST["mail_port"]);

                                // internal mail
#                               $this->ilias->setSetting("mail_intern_enable",$_POST["mail_intern_enable"]);
                                $this->ilias->setSetting("mail_maxsize_mail",$_POST["mail_maxsize_mail"]);
                                $this->ilias->setSetting("mail_maxsize_attach",$_POST["mail_maxsize_attach"]);
                                $this->ilias->setSetting("mail_maxsize_box",$_POST["mail_maxsize_box"]);
                                $this->ilias->setSetting("mail_maxtime_mail",$_POST["mail_maxtime_mail"]);
                                $this->ilias->setSetting("mail_maxtime_attach",$_POST["mail_maxtime_attach"]);

                                $settings = $this->ilias->getAllSettings();

                                // feedback
                                sendInfo($this->lng->txt("saved_successfully"));
                        }
                }

                // setting language vars

                // common
                $this->tpl->setVariable("TXT_DAYS",$this->lng->txt("days"));
                $this->tpl->setVariable("TXT_KB",$this->lng->txt("kb"));

                // mail server
                $this->tpl->setVariable("TXT_MAIL_SMTP", $this->lng->txt("mail")." (".$this->lng->txt("smtp").")");
                $this->tpl->setVariable("TXT_MAIL_SERVER", $this->lng->txt("server"));
                $this->tpl->setVariable("TXT_MAIL_PORT", $this->lng->txt("port"));

                // internal mail
                $this->tpl->setVariable("TXT_MAIL_INTERN", $this->lng->txt("mail")." (".$this->lng->txt("internal_system").")");
#               $this->tpl->setVariable("TXT_MAIL_INTERN_ENABLE", $this->lng->txt("mail_intern_enable"));
                $this->tpl->setVariable("TXT_MAIL_MAXSIZE_MAIL", $this->lng->txt("mail_maxsize_mail"));
                $this->tpl->setVariable("TXT_MAIL_MAXSIZE_ATTACH", $this->lng->txt("mail_maxsize_attach"));
                $this->tpl->setVariable("TXT_MAIL_MAXSIZE_BOX", $this->lng->txt("mail_maxsize_box"));
                $this->tpl->setVariable("TXT_MAIL_MAXTIME_MAIL", $this->lng->txt("mail_maxtime_mail"));
                $this->tpl->setVariable("TXT_MAIL_MAXTIME_ATTACH", $this->lng->txt("mail_maxtime_attach"));
                $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));

                // display formula data

                // mail server
                $this->tpl->setVariable("MAIL_SERVER",$settings["mail_server"]);
                $this->tpl->setVariable("MAIL_PORT",$settings["mail_port"]);

                // internal mail
#               if ($settings["mail_intern_enable"] == "y")
#               {
#                       $this->tpl->setVariable("MAIL_INTERN_ENABLE","checked=\"checked\"");
#               }

                $this->tpl->setVariable("MAIL_MAXSIZE_MAIL", $settings["mail_maxsize_mail"]);
                $this->tpl->setVariable("MAIL_MAXSIZE_ATTACH", $settings["mail_maxsize_attach"]);
                $this->tpl->setVariable("MAIL_MAXSIZE_BOX", $settings["mail_maxsize_box"]);
                $this->tpl->setVariable("MAIL_MAXTIME_MAIL", $settings["mail_maxtime_mail"]);
                $this->tpl->setVariable("MAIL_MAXTIME_ATTACH", $settings["mail_maxtime_attach"]);

                $this->tpl->parseCurrentBlock();
        }

Here is the call graph for this function:


The documentation for this class was generated from the following file: