ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\Container\Content\DomainService Class Reference
+ Collaboration diagram for ILIAS\Container\Content\DomainService:

Public Member Functions

 __construct (InternalRepoService $repo_service, InternalDataService $data_service, InternalDomainService $domain_service)
 
 items (\ilContainer $container)
 Controls item state (e.g. More...
 
 itemPresentation (\ilContainer $container, ?\ilContainerUserFilter $container_user_filter, bool $include_empty_blocks=true, ?string $lang=null)
 Manages item retrieval, filtering, grouping and sorting. More...
 
 itemSetFlat (int $ref_id, ?\ilContainerUserFilter $user_filter, bool $force_session_order_by_date=true, bool $include_objective_items=false)
 Manages set of conatiner items (flat version) More...
 
 itemSetTree (int $ref_id, ?\ilContainerUserFilter $user_filter)
 Manages set of conatiner items (flat version) More...
 
 itemSetSingle (int $ref_id, int $single_ref_id)
 Manages set of conatiner items (single item version) More...
 
 view (\ilContainer $container)
 
 mode (\ilContainer $container)
 Controls admin/content view state Note: The node manager currently holds "state". More...
 
 filter (array $objects, ?\ilContainerUserFilter $container_user_filter, bool $results_on_filter_only=false)
 
 itemBlockSequenceGenerator (\ilContainer $container, BlockSequence $block_sequence, ItemSetManager $item_set_manager, bool $include_empty_blocks=true, ?string $lang=null)
 

Protected Attributes

ILIAS COPage PC Resources ResourcesManager $copage_resources
 
ILIAS Repository Clipboard ClipboardManager $repo_clipboard
 
InternalRepoService $repo_service
 
InternalDataService $data_service
 
InternalDomainService $domain_service
 
ItemSessionRepository $item_repo
 
ModeSessionRepository $mode_repo
 

Static Protected Attributes

static array $mode_managers = []
 
static array $flat_item_set_managers = []
 
static array $tree_item_set_managers = []
 

Detailed Description

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

Definition at line 32 of file class.DomainService.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Container\Content\DomainService::__construct ( InternalRepoService  $repo_service,
InternalDataService  $data_service,
InternalDomainService  $domain_service 
)

Definition at line 57 of file class.DomainService.php.

61 {
62 global $DIC;
63
64 $this->repo_clipboard = $DIC
65 ->repository()
66 ->internal()
67 ->domain()
68 ->clipboard();
69
70 $this->repo_service = $repo_service;
71 $this->data_service = $data_service;
72 $this->domain_service = $domain_service;
73 $this->item_repo = $this->repo_service->content()->item();
74 $this->mode_repo = $this->repo_service->content()->mode();
75 $this->copage_resources = $DIC->copage()->internal()->domain()->pc()->resources();
76 }
global $DIC
Definition: shib_login.php:26

References ILIAS\Container\Content\DomainService\$data_service, $DIC, ILIAS\Container\Content\DomainService\$domain_service, ILIAS\Container\Content\DomainService\$repo_service, and ILIAS\Container\InternalDomainService\content().

+ Here is the call graph for this function:

Member Function Documentation

◆ filter()

ILIAS\Container\Content\DomainService::filter ( array  $objects,
?\ilContainerUserFilter  $container_user_filter,
bool  $results_on_filter_only = false 
)
Parameters
array[]$objectseach array must contain the keys "obj_id" and "type"

Definition at line 239 of file class.DomainService.php.

243 : FilterManager {
244 return new FilterManager(
245 $this,
246 $this->repo_service->content(),
247 $this->domain_service->metadata(),
248 $objects,
249 $container_user_filter,
250 $results_on_filter_only
251 );
252 }

◆ itemBlockSequenceGenerator()

ILIAS\Container\Content\DomainService::itemBlockSequenceGenerator ( \ilContainer  $container,
BlockSequence  $block_sequence,
ItemSetManager  $item_set_manager,
bool  $include_empty_blocks = true,
?string  $lang = null 
)

Definition at line 254 of file class.DomainService.php.

260 : ItemBlockSequenceGenerator {
261 return new ItemBlockSequenceGenerator(
262 $this->data_service->content(),
263 $this->domain_service,
264 $this->copage_resources,
266 $block_sequence,
267 $item_set_manager,
268 $include_empty_blocks,
269 $lang
270 );
271 }
$container
@noRector
Definition: wac.php:37
$lang
Definition: xapiexit.php:25

◆ itemPresentation()

ILIAS\Container\Content\DomainService::itemPresentation ( \ilContainer  $container,
?\ilContainerUserFilter  $container_user_filter,
bool  $include_empty_blocks = true,
?string  $lang = null 
)

Manages item retrieval, filtering, grouping and sorting.

Definition at line 97 of file class.DomainService.php.

102 : ItemPresentationManager {
103 return new ItemPresentationManager(
104 $this->domain_service,
106 $container_user_filter,
107 $this->repo_clipboard,
108 $include_empty_blocks,
109 $lang
110 );
111 }

◆ items()

ILIAS\Container\Content\DomainService::items ( \ilContainer  $container)

Controls item state (e.g.

expanded)

Definition at line 81 of file class.DomainService.php.

81 : ItemManager
82 {
83 // @todo get rid of $DIC/request call here -> move to gui
84 global $DIC;
85
86 return new ItemManager(
88 $this->item_repo,
89 $this->mode($container),
90 $DIC->container()->internal()->gui()->standardRequest()
91 );
92 }
mode(\ilContainer $container)
Controls admin/content view state Note: The node manager currently holds "state".

References $container, $DIC, and ILIAS\Container\Content\DomainService\mode().

+ Here is the call graph for this function:

◆ itemSetFlat()

ILIAS\Container\Content\DomainService::itemSetFlat ( int  $ref_id,
?\ilContainerUserFilter  $user_filter,
bool  $force_session_order_by_date = true,
bool  $include_objective_items = false 
)

Manages set of conatiner items (flat version)

Definition at line 116 of file class.DomainService.php.

122 if (!isset(self::$flat_item_set_managers[$ref_id])) {
123 self::$flat_item_set_managers[$ref_id] = new ItemSetManager(
124 $this->domain_service,
126 $ref_id,
127 $user_filter,
128 0,
129 false,
130 $force_session_order_by_date,
131 $include_objective_items
132 );
133 }
134 return self::$flat_item_set_managers[$ref_id];
135 }
$ref_id
Definition: ltiauth.php:66

References $ref_id, and ILIAS\Container\Content\ItemSetManager\FLAT.

◆ itemSetSingle()

ILIAS\Container\Content\DomainService::itemSetSingle ( int  $ref_id,
int  $single_ref_id 
)

Manages set of conatiner items (single item version)

Definition at line 158 of file class.DomainService.php.

159 {
160 return new ItemSetManager(
161 $this->domain_service,
163 $ref_id,
164 null,
165 $single_ref_id
166 );
167 }

References $ref_id.

◆ itemSetTree()

ILIAS\Container\Content\DomainService::itemSetTree ( int  $ref_id,
?\ilContainerUserFilter  $user_filter 
)

Manages set of conatiner items (flat version)

Definition at line 140 of file class.DomainService.php.

144 if (!isset(self::$tree_item_set_managers[$ref_id])) {
145 self::$tree_item_set_managers[$ref_id] = new ItemSetManager(
146 $this->domain_service,
148 $ref_id,
149 $user_filter
150 );
151 }
152 return self::$tree_item_set_managers[$ref_id];
153 }

References $ref_id.

◆ mode()

ILIAS\Container\Content\DomainService::mode ( \ilContainer  $container)

Controls admin/content view state Note: The node manager currently holds "state".

E.g. the ilContainerGUI class sets e.g. the ordering mode early in the request. Thus internal manager array is not only caching for performance but also serves a singleton approach. This may be refactored in the future.

Definition at line 223 of file class.DomainService.php.

223 : ModeManager
224 {
225 if (!isset(self::$mode_managers[$container->getId()])) {
226 self::$mode_managers[$container->getId()] = new ModeManager(
228 $this->mode_repo,
229 $this->repo_clipboard,
230 $this->domain_service->user()->getId()
231 );
232 }
233 return self::$mode_managers[$container->getId()];
234 }

References $container.

Referenced by ILIAS\Container\Content\DomainService\items().

+ Here is the caller graph for this function:

◆ view()

ILIAS\Container\Content\DomainService::view ( \ilContainer  $container)

Definition at line 169 of file class.DomainService.php.

169 : ViewManager
170 {
171 $view_mode = $container->getViewMode();
172 if ($container->filteredSubtree()) {
173 $view_mode = \ilContainer::VIEW_SIMPLE;
174 }
175 switch ($view_mode) {
176 case \ilContainer::VIEW_SIMPLE:
177 $container_view = new SimpleViewManager(
178 $this->data_service->content(),
179 $this->domain_service,
181 );
182 break;
183
184 case \ilContainer::VIEW_OBJECTIVE:
185 $container_view = new ObjectiveViewManager(
186 $this->data_service->content(),
187 $this->domain_service,
189 );
190 break;
191
192 // all items in one block
193 case \ilContainer::VIEW_SESSIONS:
194 case \ilCourseConstants::IL_CRS_VIEW_TIMING: // not nice this workaround
195 $container_view = new SessionsViewManager(
196 $this->data_service->content(),
197 $this->domain_service,
199 );
200 break;
201
202 // all items in one block
203 case \ilContainer::VIEW_BY_TYPE:
204 default:
205 $container_view = new ByTypeViewManager(
206 $this->data_service->content(),
207 $this->domain_service,
209 );
210 break;
211 }
212
213 return $container_view;
214 }

References $container, and ilContainer\VIEW_SIMPLE.

Field Documentation

◆ $copage_resources

ILIAS COPage PC Resources ResourcesManager ILIAS\Container\Content\DomainService::$copage_resources
protected

Definition at line 34 of file class.DomainService.php.

◆ $data_service

InternalDataService ILIAS\Container\Content\DomainService::$data_service
protected

◆ $domain_service

InternalDomainService ILIAS\Container\Content\DomainService::$domain_service
protected

◆ $flat_item_set_managers

array ILIAS\Container\Content\DomainService::$flat_item_set_managers = []
staticprotected

Definition at line 50 of file class.DomainService.php.

◆ $item_repo

ItemSessionRepository ILIAS\Container\Content\DomainService::$item_repo
protected

Definition at line 40 of file class.DomainService.php.

◆ $mode_managers

array ILIAS\Container\Content\DomainService::$mode_managers = []
staticprotected

Definition at line 45 of file class.DomainService.php.

◆ $mode_repo

ModeSessionRepository ILIAS\Container\Content\DomainService::$mode_repo
protected

Definition at line 41 of file class.DomainService.php.

◆ $repo_clipboard

ILIAS Repository Clipboard ClipboardManager ILIAS\Container\Content\DomainService::$repo_clipboard
protected

Definition at line 35 of file class.DomainService.php.

◆ $repo_service

InternalRepoService ILIAS\Container\Content\DomainService::$repo_service
protected

◆ $tree_item_set_managers

array ILIAS\Container\Content\DomainService::$tree_item_set_managers = []
staticprotected

Definition at line 55 of file class.DomainService.php.


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