4 include_once(
"Services/Table/classes/class.ilTable2GUI.php");
19 function __construct($a_parent_obj, $a_parent_cmd =
"", $a_parent_ref_id,
ilBadge $a_award_bagde = null, $a_parent_obj_id = null, $a_restrict_badge_id = null)
23 $this->
setId(
"bdgusr");
24 $this->award_badge = $a_award_bagde;
25 $this->do_parent =
false;
28 if(in_array($parent_type,
array(
"grp",
"crs")))
33 parent::__construct($a_parent_obj, $a_parent_cmd);
37 if($this->award_badge)
39 $this->
setTitle($lng->txt(
"badge_award_badge").
": ".$a_award_bagde->getTitle());
46 $this->
addMultiCommand(
"confirmDeassignBadge", $lng->txt(
"badge_remove_badge"));
56 include_once
"Services/Object/classes/class.ilObjectDataDeletionLog.php";
63 if($a_restrict_badge_id)
65 include_once(
"Services/Badge/classes/class.ilBadge.php");
66 $badge =
new ilBadge($a_restrict_badge_id);
67 $title .=
" - ".$badge->getTitle();
71 $this->
setTitle($parent.$lng->txt(
"users"));
74 $this->
addColumn($lng->txt(
"name"),
"name");
75 $this->
addColumn($lng->txt(
"login"),
"login");
76 $this->
addColumn($lng->txt(
"type"),
"type");
77 $this->
addColumn($lng->txt(
"title"),
"title");
78 $this->
addColumn($lng->txt(
"badge_issued_on"),
"issued");
82 $this->
addColumn($lng->txt(
"object"),
"parent_id");
95 $this->
getItems($a_parent_ref_id, $this->award_badge, $a_parent_obj_id, $a_restrict_badge_id);
103 $this->filter[
"name"] = $name->getValue();
106 function getItems($a_parent_ref_id,
ilBadge $a_award_bagde = null, $a_parent_obj_id = null, $a_restrict_badge_id = null)
112 if(!$a_parent_obj_id)
123 $obj_ids =
array($a_parent_obj_id);
128 foreach($tree->getSubTree($tree->getNodeData($a_parent_ref_id)) as $node)
130 $obj_ids[] = $node[
"obj_id"];
134 include_once
"Services/Badge/classes/class.ilBadge.php";
135 include_once
"Services/Badge/classes/class.ilBadgeAssignment.php";
136 $badges = $assignments =
array();
137 foreach($obj_ids as $obj_id)
141 $badges[$badge->getId()] = $badge;
146 if($a_restrict_badge_id &&
147 $a_restrict_badge_id != $ass->getBadgeId())
153 if($this->award_badge &&
154 $ass->getBadgeId() != $this->award_badge->getId())
159 $assignments[$ass->getUserId()][] = $ass;
166 $user_ids = array_keys($assignments);
169 include_once
"Services/Badge/classes/class.ilBadgeRenderer.php";
170 include_once
"Services/User/classes/class.ilUserQuery.php";
171 $tmp[
"set"] =
array();
172 if (count($user_ids) > 0)
175 $uquery->setLimit(9999);
176 $uquery->setUserFilter($user_ids);
178 if ($this->filter[
"name"])
180 $uquery->setTextFilter($this->filter[
"name"]);
183 $tmp = $uquery->query();
185 foreach($tmp[
"set"] as $user)
188 if(array_key_exists($user[
"usr_id"], $assignments))
190 foreach($assignments[$user[
"usr_id"]] as $user_ass)
192 $idx = $user_ass->getBadgeId().
"-".$user[
"usr_id"];
194 $badge = $badges[$user_ass->getBadgeId()];
198 $parent = $badge->getParentMeta();
202 "user_id" => $user[
"usr_id"],
203 "name" => $user[
"lastname"].
", ".$user[
"firstname"],
204 "login" => $user[
"login"],
206 "title" => $badge->getTitle(),
207 "issued" => $user_ass->getTimestamp(),
208 "parent_id" => $parent[
"id"],
209 "parent_meta" => $parent
214 else if($this->award_badge)
216 $idx =
"0-".$user[
"usr_id"];
219 "user_id" => $user[
"usr_id"],
220 "name" => $user[
"lastname"].
", ".$user[
"firstname"],
221 "login" => $user[
"login"],
237 if($this->award_badge)
239 $this->tpl->setVariable(
"VAL_ID", $a_set[
"user_id"]);
242 $this->tpl->setVariable(
"TXT_NAME", $a_set[
"name"]);
243 $this->tpl->setVariable(
"TXT_LOGIN", $a_set[
"login"]);
244 $this->tpl->setVariable(
"TXT_TYPE", $a_set[
"type"]);
245 $this->tpl->setVariable(
"TXT_TITLE", $a_set[
"title"]);
246 $this->tpl->setVariable(
"TXT_ISSUED", $a_set[
"issued"]
250 if($a_set[
"parent_id"])
252 $parent = $a_set[
"parent_meta"];
253 $this->tpl->setVariable(
"PARENT", $parent[
"title"]);
254 $this->tpl->setVariable(
"PARENT_TYPE", $lng->txt(
"obj_".$parent[
"type"]));
255 $this->tpl->setVariable(
"PARENT_ICON",
setDescription($a_val)
Set description.
static _getIcon($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
addFilterItemByMetaType($id, $type=self::FILTER_TEXT, $a_optional=false, $caption=NULL)
Add filter by standard type.
static _lookupTitle($a_id)
lookup object title
getParentCmd()
Get parent command.
getItems($a_parent_ref_id, ilBadge $a_award_bagde=null, $a_parent_obj_id=null, $a_restrict_badge_id=null)
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
static getInstancesByParentId($a_parent_id, array $a_filter=null)
setResetCommand($a_val, $a_caption=null)
Set reset filter command.
static getExtendedTypeCaption(ilBadgeType $a_type)
static _lookupObjId($a_id)
addMultiCommand($a_cmd, $a_text)
Add Command button.
static formatDate(ilDateTime $date)
Format a date public.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
__construct($a_parent_obj, $a_parent_cmd="", $a_parent_ref_id, ilBadge $a_award_bagde=null, $a_parent_obj_id=null, $a_restrict_badge_id=null)
addColumn($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
TableGUI class for badge user listing.
setLimit($a_limit=0, $a_default_limit=0)
static getInstance()
Constructor.
static getInstancesByParentId($a_parent_obj_id)
setFilterCommand($a_val, $a_caption=null)
Set filter command.