3 declare(strict_types=1);
    28         if (!$request_ref_id) {
    30                 'No ref id given. Aborting!',
    36         $rbacsystem = $DIC[
'rbacsystem'];
    38         $ilLog = $DIC[
'ilLog'];
    43                 'No weblink found for id: ' . $request_ref_id,
    49             return $this->
raiseError(
"Parent with ID $request_ref_id has been deleted.", 
'Client');
    53         $permission_ok = 
false;
    54         $write_permission_ok = 
false;
    57             if ($rbacsystem->checkAccess(
'edit', $ref_id)) {
    58                 $write_permission_ok = 
true;
    61             if ($rbacsystem->checkAccess(
'read', $ref_id)) {
    62                 $permission_ok = 
true;
    67         if (!$permission_ok && !$write_permission_ok) {
    69                 'No permission to edit the object with id: ' . $request_ref_id,
    76             $writer->setObjId($obj_id);
    79             return $writer->xmlDumpMem(
true);
    81             return $this->
raiseError($e->getMessage(), 
'Client');
    88     public function createWebLink(
string $sid, 
int $target_id, 
string $weblink_xml)
    98         $rbacsystem = $DIC[
'rbacsystem'];
   100         $ilLog = $DIC[
'ilLog'];
   103             return $this->
raiseError(
'No valid target given.', 
'Client');
   107             return $this->
raiseError(
"Parent with ID $target_id has been deleted.", 
'CLIENT_OBJECT_DELETED');
   112         $allowed_types = array(
'cat', 
'grp', 
'crs', 
'fold', 
'root');
   113         if (!in_array($target_obj->getType(), $allowed_types)) {
   115                 'No valid target type. Target must be reference id of "course, group, root, category or folder"',
   120         if (!$rbacsystem->checkAccess(
'create', $target_id, 
"webr")) {
   121             return $this->
raiseError(
'No permission to create weblink in target  ' . $target_id . 
'!', 
'Client');
   126         $webl->setTitle(
'XML Import');
   128         $webl->createReference();
   129         $webl->putInTree($target_id);
   130         $webl->setPermissions($target_id);
   137             return $this->
raiseError($e->getMessage(), 
'Client');
   141         return $webl->getRefId();
   147     public function updateWebLink(
string $sid, 
int $request_ref_id, 
string $weblink_xml)
   157         $rbacsystem = $DIC[
'rbacsystem'];
   158         $tree = $DIC[
'tree'];
   159         $ilLog = $DIC[
'ilLog'];
   163                 'Cannot perform update since weblink has been deleted.',
   164                 'CLIENT_OBJECT_DELETED'   170                 'No weblink found for id: ' . $request_ref_id,
   171                 'CLIENT_OBJECT_NOT_FOUND'   176         $permission_ok = 
false;
   178             if ($rbacsystem->checkAccess(
'edit', $ref_id)) {
   179                 $permission_ok = 
true;
   184         if (!$permission_ok) {
   186                 'No permission to edit the weblink with id: ' . $request_ref_id,
   194                 'Wrong obj id or type for weblink with id ' . $request_ref_id,
   205             return $this->
raiseError($e->getMessage(), 
'Client');
 XML parser for weblink xml. 
 
static _getAllReferences(int $id)
get all reference ids for object ID 
 
raiseError(string $a_message, $a_code)
 
SaxParserException thrown by ilSaxParser if property throwException is set. 
 
readWebLink(string $sid, int $request_ref_id)
 
createWebLink(string $sid, int $target_id, string $weblink_xml)
 
Soap methods for adminstrating web links. 
 
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)
 
updateWebLink(string $sid, int $request_ref_id, string $weblink_xml)
 
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id 
 
__construct(Container $dic, ilPlugin $plugin)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...