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)

Detailed Description

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


Member Function Documentation

ilObjMailGUI::__initFileObject (  ) 

Definition at line 246 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 254 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::ilObjMailGUI ( a_data,
a_id,
a_call_by_reference 
)

Constructor public.

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

References ilObjectGUI::ilObjectGUI().

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

Here is the call graph for this function:

ilObjMailGUI::importObject (  ) 

import new object form

public

Reimplemented from ilObjectGUI.

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

References $_GET, 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", "adm_object.php?ref_id=".$_GET["ref_id"]."&cmd=gateway");
                $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 180 of file class.ilObjMailGUI.php.

References $_GET, ilObjectGUI::$lng, $rbacsystem, __initFileObject(), __initParserObject(), ilUtil::redirect(), 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);
                
                ilUtil::redirect("adm_object.php?ref_id=".$_GET["ref_id"]."&cmd=import");
        }

Here is the call graph for this function:

ilObjMailGUI::uploadObject (  ) 

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

References $_GET, ilObjectGUI::$lng, $rbacsystem, __initFileObject(), __initParserObject(), ilUtil::redirect(), 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);
                

                ilUtil::redirect("adm_object.php?ref_id=".$_GET["ref_id"]."&cmd=import");
        }

Here is the call graph for this function:

ilObjMailGUI::viewObject (  ) 

list childs of current object

public

Reimplemented from ilObjectGUI.

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

References $_POST, $settings, 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: