Public Member Functions | |
ilGroupImportParser ($a_xml_file, $a_parent_id) | |
Constructor. | |
__pushParentId ($a_id) | |
__popParentId () | |
__getParentId () | |
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) | |
handlerCharacterData ($a_xml_parser, $a_data) | |
handler for character data | |
__save () | |
__saveFolder () | |
__saveFile () | |
__assignMembers () | |
__initGroupObject () | |
__initFolderObject () | |
__initImportFileObject () | |
__initFileObject () | |
__destroyFolderObject () | |
Data Fields | |
$group_data | |
$group_obj | |
$parent | |
$counter |
Definition at line 37 of file class.ilGroupImportParser.php.
ilGroupImportParser::__assignMembers | ( | ) |
Definition at line 288 of file class.ilGroupImportParser.php.
References ilSaxParser::$ilias, $user, and ilObjUser::_getImportedUserId().
Referenced by __save().
{ global $ilias; // OWNER if(!($usr_id = ilObjUser::_getImportedUserId($this->group_data["owner"]))) { $usr_id = $ilias->account->getId(); } $this->group_obj->addMember($usr_id,$this->group_obj->getDefaultAdminRole()); // ADMIN foreach($this->group_data["admin"] as $user) { if($usr_id = ilObjUser::_getImportedUserId($user)) { $this->group_obj->addMember($usr_id,$this->group_obj->getDefaultAdminRole()); } } // MEMBER foreach($this->group_data["member"] as $user) { if($usr_id = ilObjUser::_getImportedUserId($user)) { $this->group_obj->addMember($usr_id,$this->group_obj->getDefaultMemberRole()); } } return true; }
ilGroupImportParser::__destroyFolderObject | ( | ) |
Definition at line 355 of file class.ilGroupImportParser.php.
Referenced by __saveFolder().
{ unset($this->folder_obj); }
ilGroupImportParser::__getParentId | ( | ) |
Definition at line 75 of file class.ilGroupImportParser.php.
Referenced by __save(), __saveFile(), and __saveFolder().
{
return $this->parent[count($this->parent) - 1];
}
ilGroupImportParser::__initFileObject | ( | ) |
Definition at line 346 of file class.ilGroupImportParser.php.
Referenced by __saveFile().
{ include_once "classes/class.ilObjFile.php"; $this->file_obj =& new ilObjFile(); return true; }
ilGroupImportParser::__initFolderObject | ( | ) |
Definition at line 328 of file class.ilGroupImportParser.php.
Referenced by __saveFolder().
{ include_once "classes/class.ilObjFolder.php"; $this->folder_obj =& new ilObjFolder(); return true; }
ilGroupImportParser::__initGroupObject | ( | ) |
Definition at line 319 of file class.ilGroupImportParser.php.
Referenced by __save().
{ include_once "classes/class.ilObjGroup.php"; $this->group_obj =& new ilObjGroup(); return true; }
ilGroupImportParser::__initImportFileObject | ( | ) |
Definition at line 337 of file class.ilGroupImportParser.php.
Referenced by __saveFile().
{ include_once "classes/class.ilFileDataImportGroup.php"; $this->import_file_obj =& new ilFileDataImportGroup(); return true; }
ilGroupImportParser::__popParentId | ( | ) |
Definition at line 69 of file class.ilGroupImportParser.php.
Referenced by handlerEndTag().
{ array_pop($this->parent); return true; }
ilGroupImportParser::__pushParentId | ( | $ | a_id | ) |
Definition at line 65 of file class.ilGroupImportParser.php.
Referenced by __save(), __saveFolder(), and ilGroupImportParser().
{ $this->parent[] = $a_id; }
ilGroupImportParser::__save | ( | ) |
Definition at line 208 of file class.ilGroupImportParser.php.
References __assignMembers(), __getParentId(), __initGroupObject(), and __pushParentId().
Referenced by handlerBeginTag(), and handlerEndTag().
{ if($this->group_imported) { return true; } $this->__initGroupObject(); $this->group_obj->setImportId($this->group_data["id"]); $this->group_obj->setTitle($this->group_data["title"]); $this->group_obj->setDescription($this->group_data["description"]); // CREATE IT $this->group_obj->create(); $this->group_obj->createReference(); $this->group_obj->putInTree($this->__getParentId()); $this->group_obj->initDefaultRoles(); // SET GROUP SPECIFIC DATA $this->group_obj->setRegistrationFlag(0); $this->group_obj->setGroupStatus($this->group_data["type"] == "open" ? 0 : 1); // ASSIGN ADMINS/MEMBERS $this->__assignMembers(); $this->__pushParentId($this->group_obj->getRefId()); $this->group_imported = true; return true; }
ilGroupImportParser::__saveFile | ( | ) |
Definition at line 260 of file class.ilGroupImportParser.php.
References __getParentId(), __initFileObject(), and __initImportFileObject().
Referenced by handlerBeginTag().
{ $this->__initFileObject(); $this->file_obj->setType("file"); $this->file_obj->setTitle($this->file["fileName"]); $this->file_obj->setFileName($this->file["fileName"]); $this->file_obj->create(); $this->file_obj->createReference(); $this->file_obj->putInTree($this->__getParentId()); $this->file_obj->setPermissions($this->__getParentId()); // COPY FILE $this->file_obj->createDirectory(); $this->__initImportFileObject(); if($this->import_file_obj->findObjectFile($this->file["id"])) { $this->file_obj->copy($this->import_file_obj->getObjectFile(),$this->file["fileName"]); } unset($this->file_obj); unset($this->import_file_obj); return true; }
ilGroupImportParser::__saveFolder | ( | ) |
Definition at line 243 of file class.ilGroupImportParser.php.
References __destroyFolderObject(), __getParentId(), __initFolderObject(), and __pushParentId().
Referenced by handlerEndTag().
{ $this->__initFolderObject(); $this->folder_obj->setTitle($this->folder); $this->folder_obj->create(); $this->folder_obj->createReference(); $this->folder_obj->putInTree($this->__getParentId()); $this->folder_obj->initDefaultRoles(); $this->__pushParentId($this->folder_obj->getRefId()); $this->__destroyFolderObject(); return true; }
ilGroupImportParser::handlerBeginTag | ( | $ | a_xml_parser, | |
$ | a_name, | |||
$ | a_attribs | |||
) |
handler for begin of element
Definition at line 105 of file class.ilGroupImportParser.php.
References $ilErr, __save(), and __saveFile().
{ global $ilErr; switch($a_name) { // GROUP DATA case "group": if($a_attribs["exportVersion"] < EXPORT_VERSION) { $ilErr->raiseError("!!! This export Version isn't supported, update your ILIAS 2 installation" ,$ilErr->WARNING); } // DEFAULT $this->group_data["admin"] = array(); $this->group_data["member"] = array(); $this->group_data["type"] = $a_attribs["type"]; $this->group_data["id"] = $a_attribs["id"]; break; case "owner": $this->group_data["owner"] = $a_attribs["id"]; break; case "admin": $this->group_data["admin"][] = $a_attribs["id"]; break; case "member": $this->group_data["member"][] = $a_attribs["id"]; break; case "folder": // NOW SAVE THE NEW OBJECT (if it hasn't been imported) $this->__save(); break; case "file": // NOW SAVE THE NEW OBJECT (if it hasn't been imported) $this->__save(); $this->file["fileName"] = $a_attribs["fileName"]; $this->file["id"] = $a_attribs["id"]; // SAVE IT $this->__saveFile(); break; } }
ilGroupImportParser::handlerCharacterData | ( | $ | a_xml_parser, | |
$ | a_data | |||
) |
handler for character data
Definition at line 192 of file class.ilGroupImportParser.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; } }
ilGroupImportParser::handlerEndTag | ( | $ | a_xml_parser, | |
$ | a_name | |||
) |
Definition at line 159 of file class.ilGroupImportParser.php.
References __popParentId(), __save(), and __saveFolder().
{ switch($a_name) { case "title": $this->group_data["title"] = $this->cdata; break; case "description": $this->group_data["description"] = $this->cdata; break; case "folder": $this->__popParentId(); break; case "folderTitle": $this->folder = $this->cdata; $this->__saveFolder(); break; case "group": // NOW SAVE THE NEW OBJECT (if it hasn't been imported) $this->__save(); break; } $this->cdata = ''; }
ilGroupImportParser::ilGroupImportParser | ( | $ | a_xml_file, | |
$ | a_parent_id | |||
) |
Constructor.
string | $a_xml_file xml file |
public
Definition at line 53 of file class.ilGroupImportParser.php.
References __pushParentId(), and ilSaxParser::ilSaxParser().
{ define('EXPORT_VERSION',1); parent::ilSaxParser($a_xml_file); // SET MEMBER VARIABLES $this->__pushParentId($a_parent_id); }
ilGroupImportParser::setHandlers | ( | $ | a_xml_parser | ) |
set event handler should be overwritten by inherited class private
Reimplemented from ilSaxParser.
Definition at line 85 of file class.ilGroupImportParser.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'); }
ilGroupImportParser::startParsing | ( | ) |
start the parser
Reimplemented from ilSaxParser.
Definition at line 95 of file class.ilGroupImportParser.php.
{ parent::startParsing(); return true; }
ilGroupImportParser::$counter |
Definition at line 43 of file class.ilGroupImportParser.php.
ilGroupImportParser::$group_data |
Definition at line 39 of file class.ilGroupImportParser.php.
ilGroupImportParser::$group_obj |
Definition at line 40 of file class.ilGroupImportParser.php.
ilGroupImportParser::$parent |
Definition at line 42 of file class.ilGroupImportParser.php.