ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilPCConsultationHours.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4require_once("./Services/COPage/classes/class.ilPageContent.php");
5
17{
18 var $dom;
19
23 function init()
24 {
25 $this->setType("cach");
26 }
27
32 static function getLangVars()
33 {
34 return array("ed_insert_consultation_hours", "pc_cach");
35 }
36
40 function setNode(&$a_node)
41 {
42 parent::setNode($a_node); // this is the PageContent node
43 $this->cach_node =& $a_node->first_child(); // this is the consultation hours node
44 }
45
52 function create(&$a_pg_obj, $a_hier_id, $a_pc_id = "")
53 {
54 $this->node = $this->createPageContentNode();
55 $a_pg_obj->insertContent($this, $a_hier_id, IL_INSERT_AFTER, $a_pc_id);
56 $this->cach_node = $this->dom->create_element("ConsultationHours");
57 $this->cach_node = $this->node->append_child($this->cach_node);
58 }
59
66 function setData($a_mode, array $a_grp_ids)
67 {
68 global $ilUser;
69
70 $this->cach_node->set_attribute("Mode", $a_mode);
71 $this->cach_node->set_attribute("User", $ilUser->getId());
72
73 // remove all children first
74 $children = $this->cach_node->child_nodes();
75 if($children)
76 {
77 foreach($children as $child)
78 {
79 $this->cach_node->remove_child($child);
80 }
81 }
82
83 if($a_mode == "manual")
84 {
85 foreach($a_grp_ids as $grp_id)
86 {
87 $field_node = $this->dom->create_element("ConsultationHoursGroup");
88 $field_node = $this->cach_node->append_child($field_node);
89 $field_node->set_attribute("Id", $grp_id);
90 }
91 }
92 }
93
99 function getGroupIds()
100 {
101 $res = array();
102 if (is_object($this->cach_node))
103 {
104 $children = $this->cach_node->child_nodes();
105 if($children)
106 {
107 foreach($children as $child)
108 {
109 $res[] = $child->get_attribute("Id");
110 }
111 }
112 }
113 return $res;
114 }
115}
116?>
const IL_INSERT_AFTER
Class ilPCConsultationHours.
setData($a_mode, array $a_grp_ids)
Set consultation hours settings.
create(&$a_pg_obj, $a_hier_id, $a_pc_id="")
Create consultation hours node in xml.
init()
Init page content component.
static getLangVars()
Get lang vars needed for editing.
getGroupIds()
Get consultation hours group ids.
Class ilPageContent.
createPageContentNode($a_set_this_node=true)
Create page content node (always use this method first when adding a new element)
setType($a_type)
Set Type.
global $ilUser
Definition: imgupload.php:15