28 include_once 
'./webservice/soap/classes/class.ilSoapAdministration.php';
    35     public function addFile(
string $sid, 
int $target_id, 
string $file_xml)
    45         $ilAccess = $DIC[
'ilAccess'];
    48             return $this->
raiseError(
'No valid target given.', 
'Client');
    52             return $this->
raiseError(
"Parent with ID $target_id has been deleted.", 
'CLIENT_TARGET_DELETED');
    55         $allowed_types = array(
'cat', 
'grp', 
'crs', 
'fold', 
'root');
    56         if (!in_array($target_obj->getType(), $allowed_types)) {
    58                 'No valid target type. Target must be reference id of "course, group, category or folder"',
    63         if (!$ilAccess->checkAccess(
'create', 
'', $target_id, 
"file")) {
    64             return $this->
raiseError(
'No permission to create Files in target  ' . $target_id . 
'!', 
'Client');
    68         include_once 
'./Modules/File/classes/class.ilFileXMLParser.php';
    69         include_once 
'./Modules/File/classes/class.ilFileException.php';
    70         include_once 
'./Modules/File/classes/class.ilObjFile.php';
    76             if ($fileXMLParser->start()) {
    79                 $ilLog = $DIC[
'ilLog'];
    81                 $ilLog->write(__METHOD__ . 
': File type: ' . $file->getFileType());
    84                 $file->createReference();
    85                 $file->putInTree($target_id);
    86                 $file->setPermissions($target_id);
    89                 $fileXMLParser->setFileContents();
    92                 return $file->getRefId();
    95             return $this->
raiseError(
"Could not add file", 
"Server");
    98                 $exception->getMessage(),
   117         $rbacsystem = $DIC[
'rbacsystem'];
   118         $tree = $DIC[
'tree'];
   119         $ilLog = $DIC[
'ilLog'];
   120         $ilAccess = $DIC[
'ilAccess'];
   123             return $this->
raiseError(
'Cannot perform update since file has been deleted.', 
'CLIENT_OBJECT_DELETED');
   128                 'No File found for id: ' . $requested_ref_id,
   133         $permission_ok = 
false;
   135             if ($ilAccess->checkAccess(
'write', 
'', $ref_id)) {
   136                 $permission_ok = 
true;
   141         if (!$permission_ok) {
   143                 'No permission to edit the File with id: ' . $requested_ref_id,
   151         if (!is_object($file) || $file->getType() !== 
"file") {
   153                 'Wrong obj id or type for File with id ' . $requested_ref_id,
   158         include_once 
'./Modules/File/classes/class.ilFileXMLParser.php';
   159         include_once 
'./Modules/File/classes/class.ilFileException.php';
   163             if ($fileXMLParser->start()) {
   164                 $fileXMLParser->updateFileContents();
   166                 return $file->update();
   170                 $exception->getMessage(),
   180     public function getFileXML(
string $sid, 
int $requested_ref_id, 
int $attachFileContentsMode)
   189         if (!($requested_ref_id > 0)) {
   191                 'No ref id given. Aborting!',
   198         $rbacsystem = $DIC[
'rbacsystem'];
   199         $tree = $DIC[
'tree'];
   200         $ilLog = $DIC[
'ilLog'];
   201         $ilAccess = $DIC[
'ilAccess'];
   205                 'No File found for id: ' . $requested_ref_id,
   211             return $this->
raiseError(
"Object with ID $requested_ref_id has been deleted.", 
'Client');
   214         $permission_ok = 
false;
   216             if ($ilAccess->checkAccess(
'read', 
'', $ref_id)) {
   217                 $permission_ok = 
true;
   222         if (!$permission_ok) {
   224                 'No permission to edit the object with id: ' . $requested_ref_id,
   232         if (!is_object($file) || $file->getType() !== 
"file") {
   234                 'Wrong obj id or type for File with id ' . $requested_ref_id,
   239         include_once 
'./Modules/File/classes/class.ilFileXMLWriter.php';
   242         $xmlWriter->setFile($file);
   243         $xmlWriter->setAttachFileContents($attachFileContentsMode);
   246         return $xmlWriter->getXML();
 
static _getAllReferences(int $id)
get all reference ids for object ID 
 
raiseError(string $a_message, $a_code)
 
Soap file administration methods. 
 
checkSession(string $sid)
 
static _isInTrash(int $ref_id)
 
static getInstanceByRefId(int $ref_id, bool $stop_on_error=true)
get an instance of an Ilias object by reference id 
 
static _lookupObjectId(int $ref_id)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id 
 
addFile(string $sid, int $target_id, string $file_xml)