Inheritance diagram for ilMailImportParser:
Collaboration diagram for ilMailImportParser:Public Member Functions | |
| ilMailImportParser ($a_xml_file, $a_mode) | |
| Constructor. | |
| getMode () | |
| getCountImported () | |
| getNotAssignableUsers () | |
| setHandlers ($a_xml_parser) | |
| set event handler should be overwritten by inherited class private | |
| startParsing () | |
| start the parser | |
| handlerBeginTag ($a_xml_parser, $a_name, $a_attribs) | |
| handler for begin of element | |
| handlerEndTag ($a_xml_parser, $a_name) | |
| handler for end of element | |
| handlerCharacterData ($a_xml_parser, $a_data) | |
| handler for character data | |
| __insert () | |
| __buildSQLArray () | |
Data Fields | |
| $mode | |
| $counter | |
Definition at line 36 of file class.ilMailImportParser.php.
| ilMailImportParser::__buildSQLArray | ( | ) |
Definition at line 278 of file class.ilMailImportParser.php.
Referenced by __insert().
{
$sql = array();
if(!count($this->mails))
{
return array();
}
foreach($this->mails as $mail)
{
$sql[] = (array('0',
$mail["usr_id"],
$mail["folder_id"],
$mail["sender_id"],
addslashes(serialize(array())),
$mail["send_time"],
addslashes($mail["rcp_to"]),
addslashes($mail["rcp_cc"]),
addslashes($mail["rcp_bcc"]),
$mail["read"],
addslashes(serialize(array("normal"))),
$mail["m_email"],
addslashes($mail["m_subject"]),
addslashes($mail["m_message"]),
addslashes($mail["import_name"])));
}
return $sql ? $sql :array();
}
Here is the caller graph for this function:| ilMailImportParser::__insert | ( | ) |
Definition at line 268 of file class.ilMailImportParser.php.
References __buildSQLArray().
Referenced by startParsing().
{
global $ilDB;
$sth = $ilDB->prepare("INSERT INTO mail VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
$ilDB->executeMultiple($sth,$this->__buildSQLArray());
return true;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilMailImportParser::getCountImported | ( | ) |
Definition at line 63 of file class.ilMailImportParser.php.
{
return count($this->mails);
}
| ilMailImportParser::getMode | ( | ) |
Definition at line 58 of file class.ilMailImportParser.php.
Referenced by startParsing().
{
return $this->mode;
}
Here is the caller graph for this function:| ilMailImportParser::getNotAssignableUsers | ( | ) |
Definition at line 68 of file class.ilMailImportParser.php.
{
if(count($this->not_imported))
{
return implode("<br/>",$this->not_imported);
}
return "";
}
| ilMailImportParser::handlerBeginTag | ( | $ | a_xml_parser, | |
| $ | a_name, | |||
| $ | a_attribs | |||
| ) |
handler for begin of element
Definition at line 116 of file class.ilMailImportParser.php.
References $ilErr, and ilObjUser::_getImportedUserId().
{
global $ilErr;
switch($a_name)
{
case "users":
if($a_attribs["exportVersion"] < EXPORT_VERSION)
{
$ilErr->raiseError("!!! This export Version isn't supported, update your ILIAS 2 installation"
,$ilErr->WARNING);
}
break;
case "user":
if(!($this->i3_id = ilObjUser::_getImportedUserId($a_attribs["id"])))
{
$this->not_imported[] = $a_attribs["id"];
}
break;
case "mail":
if($this->i3_id)
{
$this->mails[++$this->counter]["usr_id"] = $this->i3_id;
$this->mails[$this->counter]["m_email"] = $a_attribs["asEmail"];
// SET FOLDER ID = 0 FOR SYSTEM MESSAGES
if($a_attribs["systemMessage"])
{
$this->mails[$this->counter]["folder_id"] = 0;
}
}
break;
case "sender":
if($this->i3_id)
{
$sender = ilObjUser::_getImportedUserId($a_attribs["id"]);
$this->mails[$this->counter]["sender_id"] = $sender;
$this->mails[$this->counter]["import_name"] = $a_attribs["import_name"];
}
break;
default:
// Do nothing
break;
}
}
Here is the call graph for this function:| ilMailImportParser::handlerCharacterData | ( | $ | a_xml_parser, | |
| $ | a_data | |||
| ) |
handler for character data
Definition at line 253 of file class.ilMailImportParser.php.
{
// i don't know why this is necessary, but
// the parser seems to convert ">" to ">" and "<" to "<"
// in character data, but we don't want that, because it's the
// way we mask user html in our content, so we convert back...
$a_data = str_replace("<","<",$a_data);
$a_data = str_replace(">",">",$a_data);
if(!empty($a_data))
{
$this->cdata .= $a_data;
}
}
| ilMailImportParser::handlerEndTag | ( | $ | a_xml_parser, | |
| $ | a_name | |||
| ) |
handler for end of element
Definition at line 171 of file class.ilMailImportParser.php.
{
// STOP IF USER IS NOT ASSIGNABLE
if(!$this->i3_id)
{
$this->cdata = '';
return;
}
switch($a_name)
{
case "targetFolder":
if(!isset($this->mails[$this->counter]["folder_id"]))
{
$tmp_mailbox =& new ilMailbox($this->i3_id);
switch($this->cdata)
{
case "inbox":
$this->mails[$this->counter]["folder_id"] = $tmp_mailbox->getInboxFolder();
$this->mails[$this->counter]["read"] = "unread";
break;
case "sentbox":
$this->mails[$this->counter]["folder_id"] = $tmp_mailbox->getSentFolder();
$this->mails[$this->counter]["read"] = "read";
break;
case "draft":
$this->mails[$this->counter]["folder_id"] = $tmp_mailbox->getDraftsFolder();
$this->mails[$this->counter]["read"] = "read";
break;
case "trash":
$this->mails[$this->counter]["folder_id"] = $tmp_mailbox->getTrashFolder();
$this->mails[$this->counter]["read"] = "read";
break;
}
}
break;
case "sendTime":
$this->mails[$this->counter]["send_time"] = date("Y-m-d H:i:s",$this->cdata);
$this->mails[$this->counter]["timest"] = date("YmdHis",$this->cdata);
break;
case "to":
$this->mails[$this->counter]["rcp_to"] = $this->cdata;
break;
case "cc":
$this->mails[$this->counter]["rcp_cc"] = $this->cdata;
break;
case "bcc":
$this->mails[$this->counter]["rcp_bcc"] = $this->cdata;
break;
case "url":
if($this->cdata)
{
$this->mails[$this->counter]["m_message"] = "Url: ".$this->cdata." <br>";
}
break;
case "urlDescription":
if($this->cdata)
{
$this->mails[$this->counter]["m_message"] .= $this->cdata."<br>";
}
break;
case "subject":
$this->mails[$this->counter]["m_subject"] = $this->cdata;
break;
case "message":
$this->mails[$this->counter]["m_message"] .= $this->cdata;
break;
}
$this->cdata = '';
}
| ilMailImportParser::ilMailImportParser | ( | $ | a_xml_file, | |
| $ | a_mode | |||
| ) |
Constructor.
| string | $a_xml_file xml file |
public
Definition at line 49 of file class.ilMailImportParser.php.
References ilSaxParser::ilSaxParser().
{
define('EXPORT_VERSION',4);
parent::ilSaxParser($a_xml_file);
$this->mode = $a_mode;
$this->counter = -1;
}
Here is the call graph for this function:| ilMailImportParser::setHandlers | ( | $ | a_xml_parser | ) |
set event handler should be overwritten by inherited class private
Reimplemented from ilSaxParser.
Definition at line 82 of file class.ilMailImportParser.php.
{
xml_set_object($a_xml_parser,$this);
xml_set_element_handler($a_xml_parser,'handlerBeginTag','handlerEndTag');
xml_set_character_data_handler($a_xml_parser,'handlerCharacterData');
}
| ilMailImportParser::startParsing | ( | ) |
start the parser
Reimplemented from ilSaxParser.
Definition at line 92 of file class.ilMailImportParser.php.
References __insert(), and getMode().
{
parent::startParsing();
switch($this->getMode())
{
case "check":
if(count($this->not_imported))
{
return false;
}
break;
case "import":
$this->__insert();
break;
}
return true;
}
Here is the call graph for this function:| ilMailImportParser::$counter |
Definition at line 39 of file class.ilMailImportParser.php.
| ilMailImportParser::$mode |
Definition at line 38 of file class.ilMailImportParser.php.
1.7.1