Inheritance diagram for ilGroupImportParser:
Collaboration diagram for ilGroupImportParser: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;
}
Here is the call graph for this function:
Here is the caller graph for this function:| ilGroupImportParser::__destroyFolderObject | ( | ) |
Definition at line 355 of file class.ilGroupImportParser.php.
Referenced by __saveFolder().
{
unset($this->folder_obj);
}
Here is the caller graph for this function:| ilGroupImportParser::__getParentId | ( | ) |
Definition at line 75 of file class.ilGroupImportParser.php.
Referenced by __save(), __saveFile(), and __saveFolder().
{
return $this->parent[count($this->parent) - 1];
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| 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;
}
Here is the caller graph for this function:| ilGroupImportParser::__popParentId | ( | ) |
Definition at line 69 of file class.ilGroupImportParser.php.
Referenced by handlerEndTag().
{
array_pop($this->parent);
return true;
}
Here is the caller graph for this function:| ilGroupImportParser::__pushParentId | ( | $ | a_id | ) |
Definition at line 65 of file class.ilGroupImportParser.php.
Referenced by __save(), __saveFolder(), and ilGroupImportParser().
{
$this->parent[] = $a_id;
}
Here is the caller graph for this function:| 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;
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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;
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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;
}
Here is the call graph for this function:
Here is the caller graph for this function:| 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;
}
}
Here is the call graph for this function:| 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 = '';
}
Here is the call graph for this function:| 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);
}
Here is the call graph for this function:| 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.
1.7.1