Public Member Functions | |
ilGroupImportParser ($a_xml, $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 () | |
__parseId ($a_id) | |
Data Fields | |
$group_data | |
$group_obj | |
$parent | |
$counter |
Definition at line 37 of file class.ilGroupImportParser.php.
ilGroupImportParser::__assignMembers | ( | ) |
Definition at line 345 of file class.ilGroupImportParser.php.
References ilSaxParser::$ilias, $user, and __parseId().
Referenced by __save().
{ global $ilias,$ilUser; $this->group_obj->addMember($ilUser->getId(),$this->group_obj->getDefaultAdminRole()); // ADMIN foreach($this->group_data["admin"] as $user) { if($id_data = $this->__parseId($user)) { if($id_data['local'] or $id_data['imported']) { $this->group_obj->addMember($id_data['usr_id'],$this->group_obj->getDefaultAdminRole()); } } } // MEMBER foreach($this->group_data["member"] as $user) { if($id_data = $this->__parseId($user)) { if($id_data['local'] or $id_data['imported']) { $this->group_obj->addMember($id_data['usr_id'],$this->group_obj->getDefaultMemberRole()); } } } return true; }
ilGroupImportParser::__destroyFolderObject | ( | ) |
Definition at line 414 of file class.ilGroupImportParser.php.
Referenced by __saveFolder().
{ unset($this->folder_obj); }
ilGroupImportParser::__getParentId | ( | ) |
Definition at line 76 of file class.ilGroupImportParser.php.
Referenced by __save(), __saveFile(), and __saveFolder().
{
return $this->parent[count($this->parent) - 1];
}
ilGroupImportParser::__initFileObject | ( | ) |
Definition at line 405 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 387 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 378 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 396 of file class.ilGroupImportParser.php.
Referenced by __saveFile().
{ include_once "classes/class.ilFileDataImportGroup.php"; $this->import_file_obj =& new ilFileDataImportGroup(); return true; }
ilGroupImportParser::__parseId | ( | $ | a_id | ) |
Definition at line 419 of file class.ilGroupImportParser.php.
References $fields, $id, ilSaxParser::$ilias, ilObjUser::_getImportedUserId(), and ilObjUser::_lookupName().
Referenced by __assignMembers().
{ global $ilias; $fields = explode('_',$a_id); if(!is_array($fields) or $fields[0] != 'il' or !is_numeric($fields[1]) or $fields[2] != 'usr' or !is_numeric($fields[3])) { return false; } if($id = ilObjUser::_getImportedUserId($a_id)) { return array('imported' => true, 'local' => false, 'usr_id' => $id); } if(($fields[1] == $ilias->getSetting('inst_id',0)) and strlen(ilObjUser::_lookupName($fields[3]))) { return array('imported' => false, 'local' => true, 'usr_id' => $fields[3]); } return false; }
ilGroupImportParser::__popParentId | ( | ) |
Definition at line 70 of file class.ilGroupImportParser.php.
Referenced by handlerEndTag().
{ array_pop($this->parent); return true; }
ilGroupImportParser::__pushParentId | ( | $ | a_id | ) |
Definition at line 66 of file class.ilGroupImportParser.php.
Referenced by __save(), __saveFolder(), and ilGroupImportParser().
{ $this->parent[] = $a_id; }
ilGroupImportParser::__save | ( | ) |
Definition at line 225 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"]); switch($this->group_data['registration_type']) { case 'disabled': $flag = 0; break; case 'enabled': $flag = 1; break; case 'password': $flag = 2; break; default: $flag = 0; } $this->group_obj->setRegistrationFlag($flag); // CREATE IT $this->group_obj->create(); $this->group_obj->createReference(); $this->group_obj->putInTree($this->__getParentId()); $this->group_obj->initDefaultRoles(); // SET GROUP SPECIFIC DATA switch($this->group_data['registration_type']) { case 'disabled': $flag = 0; break; case 'enabled': $flag = 1; break; case 'password': $flag = 2; break; default: $flag = 0; } $this->group_obj->setRegistrationFlag($flag); if($this->group_data['expiration']) { $this->group_obj->setExpirationDateTime(date('Y.m.d H:i:s',$this->group_data['expiration'])); } $this->group_obj->setPassword($this->group_data['password']); $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 317 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 300 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 107 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 'title': break; case "owner": $this->group_data["owner"] = $a_attribs["id"]; break; case 'registration': $this->group_data['registration_type'] = $a_attribs['type']; 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 209 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 168 of file class.ilGroupImportParser.php.
References __popParentId(), __save(), and __saveFolder().
{ switch($a_name) { case "title": $this->group_data["title"] = trim($this->cdata); break; case "description": $this->group_data["description"] = trim($this->cdata); break; case 'password': $this->group_data['password'] = trim($this->cdata); break; case 'expiration': $this->group_data['expiration'] = trim($this->cdata); break; case "folder": $this->__popParentId(); break; case "folderTitle": $this->folder = trim($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, | |
$ | a_parent_id | |||
) |
Constructor.
string | $a_xml_file xml file |
public
Definition at line 53 of file class.ilGroupImportParser.php.
References __pushParentId(), ilSaxParser::ilSaxParser(), and ilSaxParser::setXMLContent().
{ define('EXPORT_VERSION',2); parent::ilSaxParser(); $this->setXMLContent($a_xml); // 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 86 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 96 of file class.ilGroupImportParser.php.
{ parent::startParsing(); return is_object($this->group_obj) ? $this->group_obj->getRefId() : false; }
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.