ILIAS  release_7 Revision v7.30-3-g800a261c036
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 ($active_only=false, $user_id=null)
 Get all task providers. More...
 

Protected Attributes

 $service
 
 $default_provider_factories
 
 $provider_factories
 

Detailed Description

Derived task providers factory.

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

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

Constructor & Destructor Documentation

◆ __construct()

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

Constructor.

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

References $default_provider_factories, $provider_factories, and $service.

37  {
38  if (is_null($provider_factories)) {
39  $this->provider_factories = array_map(function ($class) use ($service) {
40  return new $class($service);
42  } else {
43  $this->provider_factories = $provider_factories;
44  }
45  $this->service = $service;
46  }

Member Function Documentation

◆ getAllProviders()

ilDerivedTaskProviderMasterFactory::getAllProviders (   $active_only = false,
  $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 55 of file class.ilDerivedTaskProviderMasterFactory.php.

56  {
57  $providers = array();
58 
59  if ($user_id == 0) {
60  $user_id = $this->service->getDependencies()->user()->getId();
61  }
62 
63  foreach ($this->provider_factories as $provider_factory) {
64  foreach ($provider_factory->getProviders() as $provider) {
65  if (!$active_only || $provider->isActive()) {
66  $providers[] = $provider;
67  }
68  }
69  }
70 
71  return $providers;
72  }

Field Documentation

◆ $default_provider_factories

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

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

Referenced by __construct().

◆ $provider_factories

ilDerivedTaskProviderMasterFactory::$provider_factories
protected

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

Referenced by __construct().

◆ $service

ilDerivedTaskProviderMasterFactory::$service
protected

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

Referenced by __construct().


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