ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilPCProfile.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5
6require_once("./Services/COPage/classes/class.ilPageContent.php");
7
19{
20 var $dom;
21
25 function init()
26 {
27 $this->setType("prof");
28 }
29
33 function setNode(&$a_node)
34 {
35 parent::setNode($a_node); // this is the PageContent node
36 $this->prof_node =& $a_node->first_child(); // this is the profile node
37 }
38
45 function create(&$a_pg_obj, $a_hier_id, $a_pc_id = "")
46 {
47 $this->node = $this->createPageContentNode();
48 $a_pg_obj->insertContent($this, $a_hier_id, IL_INSERT_AFTER, $a_pc_id);
49 $this->prof_node = $this->dom->create_element("Profile");
50 $this->prof_node = $this->node->append_child($this->prof_node);
51 }
52
59 function setFields($a_mode, array $a_fields = null)
60 {
61 global $ilUser;
62
63 $this->prof_node->set_attribute("Mode", $a_mode);
64 $this->prof_node->set_attribute("User", $ilUser->getId());
65
66 // remove all children first
67 $children = $this->prof_node->child_nodes();
68 if($children)
69 {
70 foreach($children as $child)
71 {
72 $this->prof_node->remove_child($child);
73 }
74 }
75
76 if($a_mode == "manual")
77 {
78 foreach($a_fields as $field)
79 {
80 $field_node = $this->dom->create_element("ProfileField");
81 $field_node = $this->prof_node->append_child($field_node);
82 $field_node->set_attribute("Name", $field);
83 }
84 }
85 }
86
92 function getMode()
93 {
94 if (is_object($this->prof_node))
95 {
96 return $this->prof_node->get_attribute("Mode");
97 }
98 }
99
105 function getFields()
106 {
107 $res = array();
108 if (is_object($this->prof_node))
109 {
110 $children = $this->prof_node->child_nodes();
111 if($children)
112 {
113 foreach($children as $child)
114 {
115 $res[] = $child->get_attribute("Name");
116 }
117 }
118 }
119 return $res;
120 }
121
126 static function getLangVars()
127 {
128 return array("pc_prof", "ed_insert_profile");
129 }
130
131}
132?>
const IL_INSERT_AFTER
Class ilPCProfile.
init()
Init page content component.
getMode()
Get profile mode.
static getLangVars()
Get lang vars needed for editing.
setFields($a_mode, array $a_fields=null)
Set profile settings.
setNode(&$a_node)
Set node.
getFields()
Get profile settings.
create(&$a_pg_obj, $a_hier_id, $a_pc_id="")
Create profile node in xml.
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