ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilDerivedTaskProviderMasterFactory Class Reference

Derived task providers factory. More...

+ Collaboration diagram for ilDerivedTaskProviderMasterFactory:

Public Member Functions

 __construct (ilTaskService $service, $provider_factories=null)
 Constructor. More...
 
 getAllProviders (bool $active_only=false, int $user_id=null)
 Get all task providers. More...
 

Protected Attributes

ilTaskService $service
 
array $default_provider_factories
 
 $provider_factories = []
 

Detailed Description

Derived task providers factory.

Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 26 of file class.ilDerivedTaskProviderMasterFactory.php.

Constructor & Destructor Documentation

◆ __construct()

ilDerivedTaskProviderMasterFactory::__construct ( ilTaskService  $service,
  $provider_factories = null 
)

Constructor.

Definition at line 48 of file class.ilDerivedTaskProviderMasterFactory.php.

References $provider_factories, and $service.

49  {
50  if (is_null($provider_factories)) {
51  $this->provider_factories = array_map(fn ($class): ilDerivedTaskProviderFactory => new $class($service), $this->default_provider_factories);
52  } else {
53  $this->provider_factories = $provider_factories;
54  }
55  $this->service = $service;
56  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

Member Function Documentation

◆ getAllProviders()

ilDerivedTaskProviderMasterFactory::getAllProviders ( bool  $active_only = false,
int  $user_id = null 
)

Get all task providers.

Parameters
bool$active_onlyget only active providers
int$user_idget instances for user with user id
Returns
ilLearningHistoryProviderInterface[]

Definition at line 65 of file class.ilDerivedTaskProviderMasterFactory.php.

References $provider.

65  : array
66  {
67  $providers = array();
68 
69  if ($user_id == 0) {
70  $user_id = $this->service->getDependencies()->user()->getId();
71  }
72 
73  foreach ($this->provider_factories as $provider_factory) {
74  foreach ($provider_factory->getProviders() as $provider) {
75  if (!$active_only || $provider->isActive()) {
76  $providers[] = $provider;
77  }
78  }
79  }
80 
81  return $providers;
82  }
$provider
Definition: ltitoken.php:83

Field Documentation

◆ $default_provider_factories

array ilDerivedTaskProviderMasterFactory::$default_provider_factories
protected
Initial value:
= array(
ilExerciseDerivedTaskProviderFactory::class,
ilForumDerivedTaskProviderFactory::class,
DerivedTaskProviderFactory::class,
ilBlogDerivedTaskProviderFactory::class
)

Definition at line 33 of file class.ilDerivedTaskProviderMasterFactory.php.

◆ $provider_factories

ilDerivedTaskProviderMasterFactory::$provider_factories = []
protected

Definition at line 43 of file class.ilDerivedTaskProviderMasterFactory.php.

Referenced by __construct().

◆ $service

ilTaskService ilDerivedTaskProviderMasterFactory::$service
protected

Definition at line 28 of file class.ilDerivedTaskProviderMasterFactory.php.

Referenced by __construct().


The documentation for this class was generated from the following file: