3 declare(strict_types=1);
    27         $this->tree = $DIC->repositoryTree();
    28         $this->
logger = $DIC->logger()->meta();
    29         $this->cronresult = $result;
    37             $obj_ids = $this->
filter($obj_ids);
    38             $num = $this->
harvest($obj_ids);
    40             $message = 
'Created ' . $num . 
' new objects. <br />';
    44             $message .= 
'Deleted ' . $deleted . 
' deprecated objects.';
    46             if (!$deleted && !$num) {
    51             $this->cronresult->setMessage(
$message);
    55             $this->cronresult->setMessage($e->getMessage());
    66         $collectable_types = $this->
settings->getHarvestingTypes();
    67         $copyright_ids = $this->
settings->getCopyRightTemplatesInLomFormat();
    74         $this->
logger->debug(
'Found ' . count($collectable_types) . 
' collectable objects.');
    77         return $collectable_obj_ids;
    84     protected function filter(array $a_collectable_obj_ids): array
    87         foreach ($a_collectable_obj_ids as $obj_id) {
    89             if ($status->isCreated()) {
    90                 $this->
logger->debug(
'Object already created: ' . $obj_id);
    93             if ($status->isBlocked()) {
    94                 $this->
logger->debug(
'Object creation is blocked: ' . $obj_id);
   100                 if (!$this->tree->isDeleted(
$ref_id)) {
   105                 $this->
logger->notice(
'Ignoring deleted object: ' . $obj_id);
   108             $filtered[] = $obj_id;
   111         $this->
logger->debug(
'Result after filtering.');
   120     protected function harvest(array $a_collectable_obj_ids): 
int   123         foreach ($a_collectable_obj_ids as $obj_id) {
   130                 $this->
logger->warning(
'Found invalid reference: ' . 
$ref_id);
   132             $this->
logger->debug(
'Creating new reference for object: ' . $obj_id);
   141         $this->
logger->debug(
'Create new reference');
   143         $this->
logger->debug(
'Put in tree');
   145         $this->
logger->debug(
'Set pernissions');
   148         $this->
logger->debug(
'Set status');
   151         $status->setBlocked(
false);
   162             $this->
logger->warning(
'Found invalid reference: ' . $a_ref_id);
   165         $this->
logger->debug(
'Deleting reference...');
   183             if ($status->isBlocked()) {
   184                 $this->
logger->debug(
'Deleting blocked object ressource.');
   192             foreach ($this->
settings->getCopyRightTemplatesInLomFormat() as $cp) {
   193                 if (strcmp($copyright, $cp) === 0) {
   199                 $this->
logger->debug(
'Deleting deprecated object with ref_id: ' . $ref_id);
 
setHarvestRefId(int $a_ref_id)
 
static lookupObjIdByHarvestingId(int $a_href_id)
 
static _getAllReferences(int $id)
get all reference ids for object ID 
 
deleteObject(int $a_ref_id)
 
Cron job for definition for oer harvesting. 
 
static _lookupDescription(int $a_rbac_id, int $a_obj_id)
 
setPermissions(int $parent_ref_id)
 
static _lookupObjId(int $ref_id)
 
createReference()
creates reference for object 
 
collect()
Collect all obj_ids with copyright settings which are collectable. 
 
final const STATUS_NO_ACTION
 
__construct(ilCronJobResult $result)
 
static getInstanceByRefId(int $ref_id, bool $stop_on_error=true)
get an instance of an Ilias object by reference id 
 
OER harvester object status. 
 
Cron job for definition for oer harvesting. 
 
ilOerHarvesterSettings $settings
 
harvest(array $a_collectable_obj_ids)
 
putInTree(int $parent_ref_id)
maybe this method should be in tree object!? 
 
filter(array $a_collectable_obj_ids)
 
harvestObject(ilObject $object)
 
ilCronJobResult $cronresult
 
static lookupRightsByTypeAndCopyright(array $a_types, array $a_copyright)