ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilPCResourcesGUI Class Reference

Class ilPCResourcesGUI. More...

+ Inheritance diagram for ilPCResourcesGUI:
+ Collaboration diagram for ilPCResourcesGUI:

Public Member Functions

 __construct (&$a_pg_obj, &$a_content_obj, $a_hier_id, $a_pc_id="")
 Constructor @access public. More...
 
 executeCommand ()
 execute command More...
 
 insert ()
 Insert new resources component form. More...
 
 edit ($a_insert=false)
 Edit resources form. More...
 
 create ()
 Create new Resources Component. More...
 
 update ()
 Update Resources Component. More...
 
- Public Member Functions inherited from ilPageContentGUI
 __construct ($a_pg_obj, $a_content_obj, $a_hier_id=0, $a_pc_id="")
 Constructor @access public. More...
 
 setContentObject ($a_val)
 Set content object. More...
 
 getContentObject ()
 Get content object. More...
 
 setPage ($a_val)
 Set page. More...
 
 getPage ()
 Get page. More...
 
 setPageConfig ($a_val)
 Set Page Config. More...
 
 getPageConfig ()
 Get Page Config. More...
 
 setStyleId ($a_styleid)
 Set Style Id. More...
 
 getStyleId ()
 Get Style Id. More...
 
 getStyle ()
 Get style object. More...
 
 setCharacteristics ($a_chars)
 Set Characteristics. More...
 
 getCharacteristics ()
 Get characteristics. More...
 
 getHierId ()
 get hierarchical id in dom object More...
 
 setHierId ($a_hier_id)
 get hierarchical id in dom object More...
 
 getBBMenu ($a_ta_name="par_content")
 Get the bb menu incl. More...
 
 delete ()
 delete content element More...
 
 moveAfter ()
 move content element after another element More...
 
 moveBefore ()
 move content element before another element More...
 
 splitPage ()
 split page to new page at specified position More...
 
 splitPageNext ()
 split page to next page at specified position More...
 
 displayValidationError ()
 display validation errors More...
 
 cancelCreate ()
 cancel creating page content More...
 
 cancelUpdate ()
 cancel update More...
 
 cancel ()
 Cancel. More...
 
 deactivate ()
 gui function set enabled if is not enabled and vice versa More...
 
 cut ()
 Cut single element. More...
 
 copy ()
 Copy single element. More...
 
 getTemplateOptions ($a_type)
 Get table templates. More...
 

Static Public Member Functions

static insertResourcesIntoPageContent ($a_content)
 Insert resources (see also ilContainerContentGUI::determinePageEmbeddedBlocks for presentation) More...
 
- Static Public Member Functions inherited from ilPageContentGUI
static _getCommonBBButtons ()
 Get common bb buttons. More...
 

Protected Attributes

 $rep_tree
 
 $obj_definition
 
- Protected Attributes inherited from ilPageContentGUI
 $error
 
 $log
 

Additional Inherited Members

- Data Fields inherited from ilPageContentGUI
 $content_obj
 
 $tpl
 
 $lng
 
 $ctrl
 
 $pg_obj
 
 $hier_id
 
 $dom
 
 $updated
 
 $target_script
 
 $return_location
 
 $page_config = null
 
- Static Public Attributes inherited from ilPageContentGUI
static $style_selector_reset = "margin-top:2px; margin-bottom:2px; text-indent:0px; position:static; float:none; width: auto;"
 
- Protected Member Functions inherited from ilPageContentGUI
 getCharacteristicsOfCurrentStyle ($a_type)
 Get characteristics of current style. More...
 
- Static Protected Attributes inherited from ilPageContentGUI
static $common_bb_buttons
 

Detailed Description

Class ilPCResourcesGUI.

User Interface for Resources Component Editing

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 17 of file class.ilPCResourcesGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilPCResourcesGUI::__construct ( $a_pg_obj,
$a_content_obj,
  $a_hier_id,
  $a_pc_id = "" 
)

Constructor @access public.

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

35 {
36 global $DIC;
37
38 $this->ctrl = $DIC->ctrl();
39 $this->tpl = $DIC["tpl"];
40 $this->lng = $DIC->language();
41 $this->obj_definition = $DIC["objDefinition"];
42 $tree = $DIC->repositoryTree();
43
44 $this->rep_tree = $tree;
45 parent::__construct($a_pg_obj, $a_content_obj, $a_hier_id, $a_pc_id);
46 }
global $DIC
Definition: saml.php:7

References $DIC.

Member Function Documentation

◆ create()

ilPCResourcesGUI::create ( )

Create new Resources Component.

Definition at line 192 of file class.ilPCResourcesGUI.php.

193 {
194 $this->content_obj = new ilPCResources($this->getPage());
195 $this->content_obj->create($this->pg_obj, $this->hier_id, $this->pc_id);
196
197 if ($_POST["res_type"] != "itgr") {
198 $this->content_obj->setResourceListType(ilUtil::stripSlashes($_POST["type"]));
199 } else {
200 $this->content_obj->setItemGroupRefId(ilUtil::stripSlashes($_POST["itgr"]));
201 }
202 $this->updated = $this->pg_obj->update();
203 if ($this->updated === true) {
204 $this->ctrl->returnToParent($this, "jump" . $this->hier_id);
205 } else {
206 $this->insert();
207 }
208 }
$_POST["username"]
insert()
Insert new resources component form.
Class ilPCResources.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled

References $_POST, ilPageContentGUI\getPage(), insert(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ edit()

ilPCResourcesGUI::edit (   $a_insert = false)

Edit resources form.

Definition at line 79 of file class.ilPCResourcesGUI.php.

80 {
84 $objDefinition = $this->obj_definition;
85
87
88 // edit form
89 include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
91 $form->setFormAction($ilCtrl->getFormAction($this));
92 if ($a_insert) {
93 $form->setTitle($this->lng->txt("cont_insert_resources"));
94 } else {
95 $form->setTitle($this->lng->txt("cont_update_resources"));
96 }
97
98 // count number of existing objects per type and collect item groups
99 $ref_id = (int) $_GET["ref_id"];
100 $childs = $this->rep_tree->getChilds($ref_id);
101 $type_counts = array();
102 $item_groups = array();
103 foreach ($childs as $c) {
104 // see bug #12471
105 //echo "<br>-".$c["type"]."-".$objDefinition->getGroupOfObj($c["type"])."-";
106 $key = ($objDefinition->getGroupOfObj($c["type"]) != "")
107 ? $objDefinition->getGroupOfObj($c["type"])
108 : $c["type"];
109 $type_counts[$key] += 1;
110 if ($c["type"] == "itgr") {
111 $item_groups[$c["ref_id"]] = $c["title"];
112 }
113 }
114
115 if (count($item_groups) > 0) {
116 // radio group for type selection
117 $radg = new ilRadioGroupInputGUI($lng->txt("cont_resources"), "res_type");
118 if (!$a_insert && $this->content_obj->getMainType() == "ItemGroup") {
119 $radg->setValue("itgr");
120 } else {
121 $radg->setValue("by_type");
122 }
123
124 $op_type = new ilRadioOption($lng->txt("cont_resources_of_type"), "by_type", "");
125 $radg->addOption($op_type);
126 $op_itemgroup = new ilRadioOption($lng->txt("obj_itgr"), "itgr", "");
127 $radg->addOption($op_itemgroup);
128 $form->addItem($radg);
129 }
130
131 // type selection
132 $type_prop = new ilSelectInputGUI(
133 $this->lng->txt("cont_type"),
134 "type"
135 );
136 $obj_id = ilObject::_lookupObjId($_GET["ref_id"]);
137 $obj_type = ilObject::_lookupType($obj_id);
138 $sub_objs = $objDefinition->getGroupedRepositoryObjectTypes($obj_type);
139 $types = array();
140 foreach ($sub_objs as $k => $so) {
141 if (!$objDefinition->isPlugin($k)) {
142 if ($k != "itgr") {
143 $types[$k] = $this->lng->txt("objs_" . $k) . " (" . (int) $type_counts[$k] . ")";
144 }
145 } else {
146 include_once("./Services/Component/classes/class.ilPlugin.php");
148 $types[$k] = $pl->txt("objs_" . $k) . " (" . (int) $type_counts[$k] . ")";
149 }
150
151 }
152 $type_prop->setOptions($types);
153 $selected = ($a_insert)
154 ? ""
155 : $this->content_obj->getResourceListType();
156 $type_prop->setValue($selected);
157 if (count($item_groups) > 0) {
158 $op_type->addSubItem($type_prop);
159 } else {
160 $form->addItem($type_prop);
161 }
162
163 if (count($item_groups) > 0) {
164 // item groups
165 $options = $item_groups;
166 $si = new ilSelectInputGUI($this->lng->txt("obj_itgr"), "itgr");
167 $si->setOptions($options);
168 $selected = ($a_insert)
169 ? ""
170 : $this->content_obj->getItemGroupRefId();
171 $op_itemgroup->addSubItem($si);
172 }
173
174
175 // save/cancel buttons
176 if ($a_insert) {
177 $form->addCommandButton("create_resources", $lng->txt("save"));
178 $form->addCommandButton("cancelCreate", $lng->txt("cancel"));
179 } else {
180 $form->addCommandButton("update_resources", $lng->txt("save"));
181 $form->addCommandButton("cancelUpdate", $lng->txt("cancel"));
182 }
183 $html = $form->getHTML();
184 $tpl->setContent($html);
185 return $ret;
186 }
if(!isset( $_REQUEST[ 'ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Definition: as_login.php:20
$_GET["client_id"]
static getRepoPluginObjectByType($type)
Return either a repoObject plugin or a orgunit extension plugin or null if the type is not a plugin.
static _lookupObjId($a_id)
static _lookupType($a_id, $a_reference=false)
lookup object type
displayValidationError()
display validation errors
This class represents a property form user interface.
This class represents a property in a property form.
This class represents an option in a radio group.
This class represents a selection list property in a property form.
$key
Definition: croninfo.php:18
$html
Definition: example_001.php:87
global $ilCtrl
Definition: ilias.php:18
$ret
Definition: parser.php:6
if(isset($_POST['submit'])) $form

References $_GET, ilPageContentGUI\$ctrl, $form, $html, $ilCtrl, $key, ilPageContentGUI\$lng, $obj_definition, $options, $ret, $si, ilPageContentGUI\$tpl, ilObject\_lookupObjId(), ilObject\_lookupType(), ilPageContentGUI\displayValidationError(), and ilObjectPlugin\getRepoPluginObjectByType().

Referenced by insert(), and update().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilPCResourcesGUI::executeCommand ( )

execute command

Definition at line 51 of file class.ilPCResourcesGUI.php.

52 {
53 // get next class that processes or forwards current command
54 $next_class = $this->ctrl->getNextClass($this);
55
56 // get current command
57 $cmd = $this->ctrl->getCmd();
58
59 switch ($next_class) {
60 default:
61 $ret = $this->$cmd();
62 break;
63 }
64
65 return $ret;
66 }

References $ret.

◆ insert()

ilPCResourcesGUI::insert ( )

Insert new resources component form.

Definition at line 71 of file class.ilPCResourcesGUI.php.

72 {
73 $this->edit(true);
74 }
edit($a_insert=false)
Edit resources form.

References edit().

Referenced by create().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ insertResourcesIntoPageContent()

static ilPCResourcesGUI::insertResourcesIntoPageContent (   $a_content)
static

Insert resources (see also ilContainerContentGUI::determinePageEmbeddedBlocks for presentation)

Parameters

return

Definition at line 235 of file class.ilPCResourcesGUI.php.

236 {
237 global $DIC;
238
239 $objDefinition = $DIC["objDefinition"];
240 $tree = $DIC->repositoryTree();
241 $lng = $DIC->language();
242
243 $ref_id = (int) $_GET["ref_id"];
244 $obj_id = (int) ilObject::_lookupObjId($ref_id);
245 $obj_type = ilObject::_lookupType($obj_id);
246
247 // determine type -> group
248 $type_to_grp = array();
249 $type_grps =
250 $objDefinition->getGroupedRepositoryObjectTypes($obj_type);
251 foreach ($type_grps as $grp => $def) {
252 foreach ($def["objs"] as $t) {
253 $type_to_grp[$t] = $grp;
254 }
255 }
256
257 $childs = $tree->getChilds($ref_id);
258 $childs_by_type = array();
259 $item_groups = array();
260 foreach ($childs as $child) {
261 $childs_by_type[$type_to_grp[$child["type"]]][] = $child;
262 if ($child["type"] == "itgr") {
263 $item_groups[(int) $child["ref_id"]] = $child["title"];
264 }
265 }
266
267 // handle "by type" lists
268 foreach ($type_grps as $type => $v) {
269 if (is_int(strpos($a_content, "[list-" . $type . "]"))) {
270 // render block
271 $tpl = new ilTemplate("tpl.resource_block.html", true, true, "Services/COPage");
272 $cnt = 0;
273
274 if (is_array($childs_by_type[$type]) && count($childs_by_type[$type]) > 0) {
275 foreach ($childs_by_type[$type] as $child) {
276 $tpl->setCurrentBlock("row");
277 $tpl->setVariable("IMG", ilUtil::img(ilObject::_getIcon($child["obj_id"], "small")));
278 $tpl->setVariable("TITLE", $child["title"]);
279 $tpl->parseCurrentBlock();
280 $cnt++;
281 }
282 $tpl->setVariable("HEADER", $lng->txt("objs_" . $type));
283 $a_content = str_replace("[list-" . $type . "]", $tpl->get(), $a_content);
284 } else {
285 $tpl->setCurrentBlock("row");
286 $tpl->setVariable("TITLE", $lng->txt("no_items"));
287 $tpl->parseCurrentBlock();
288 $tpl->setVariable("HEADER", $lng->txt("objs_" . $type));
289 $a_content = str_replace("[list-" . $type . "]", $tpl->get(), $a_content);
290 }
291 }
292 }
293
294 // handle item groups
295 while (preg_match('/\[(item-group-([0-9]*))\]/i', $a_content, $found)) {
296 $itgr_ref_id = (int) $found[2];
297
298 // check whether this item group is child -> insert editing html
299 if (isset($item_groups[$itgr_ref_id])) {
300 include_once("./Modules/ItemGroup/classes/class.ilItemGroupItems.php");
301 $itgr_items = new ilItemGroupItems($itgr_ref_id);
302 $items = $itgr_items->getValidItems();
303
304 // render block
305 $tpl = new ilTemplate("tpl.resource_block.html", true, true, "Services/COPage");
306 foreach ($items as $it_ref_id) {
307 $it_obj_id = ilObject::_lookupObjId($it_ref_id);
308 $it_title = ilObject::_lookupTitle($it_obj_id);
309 $it_type = ilObject::_lookupType($it_obj_id);
310
311 // TODO: Handle this switch by module.xml definitions
312 if (in_array($it_type, array("catr", "crsr", "grpr"))) {
313 include_once('./Services/ContainerReference/classes/class.ilContainerReference.php');
314 $it_title = ilContainerReference::_lookupTitle($it_obj_id);
315 }
316
317
318 $tpl->setCurrentBlock("row");
319 $tpl->setVariable("IMG", ilUtil::img(ilObject::_getIcon($it_obj_id, "small")));
320 $tpl->setVariable("TITLE", $it_title);
321 $tpl->parseCurrentBlock();
322 }
323 $tpl->setVariable("HEADER", $item_groups[$itgr_ref_id]);
324 $html = $tpl->get();
325 } else {
326 $html = "<i>" . $lng->txt("cont_element_refers_removed_itgr") . "</i>";
327 }
328 $a_content = preg_replace('/\[' . $found[1] . '\]/i', $html, $a_content);
329 }
330
331
332 return $a_content;
333 }
static _lookupTitle($a_obj_id)
Overwitten from base class.
static _lookupTitle($a_id)
lookup object title
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
special template class to simplify handling of ITX/PEAR
static img($a_src, $a_alt="", $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
$def
Definition: croninfo.php:21
$type
$a_content
Definition: workflow.php:93

References $_GET, $a_content, $def, $DIC, $html, ilPageContentGUI\$lng, $t, ilPageContentGUI\$tpl, $type, ilObject\_getIcon(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilContainerReference\_lookupTitle(), ilObject\_lookupType(), and ilUtil\img().

Referenced by ilPageObjectGUI\insertResources().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ update()

ilPCResourcesGUI::update ( )

Update Resources Component.

Definition at line 213 of file class.ilPCResourcesGUI.php.

214 {
215 if ($_POST["res_type"] != "itgr") {
216 $this->content_obj->setResourceListType(ilUtil::stripSlashes($_POST["type"]));
217 } else {
218 $this->content_obj->setItemGroupRefId(ilUtil::stripSlashes($_POST["itgr"]));
219 }
220 $this->updated = $this->pg_obj->update();
221 if ($this->updated === true) {
222 $this->ctrl->returnToParent($this, "jump" . $this->hier_id);
223 } else {
224 $this->pg_obj->addHierIDs();
225 $this->edit();
226 }
227 }

References $_POST, edit(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

Field Documentation

◆ $obj_definition

ilPCResourcesGUI::$obj_definition
protected

Definition at line 27 of file class.ilPCResourcesGUI.php.

Referenced by edit().

◆ $rep_tree

ilPCResourcesGUI::$rep_tree
protected

Definition at line 22 of file class.ilPCResourcesGUI.php.


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