4include_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", 
 
An exception for terminatinating execution or to throw for unit testing.
static getInstancesByParentId($a_parent_obj_id)
static getInstance()
Constructor.
TableGUI class for badge user listing.
__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)
getItems($a_parent_ref_id, ilBadge $a_award_bagde=null, $a_parent_obj_id=null, $a_restrict_badge_id=null)
fillRow($a_set)
Standard Version of Fill Row.
static getInstancesByParentId($a_parent_id, array $a_filter=null)
static getExtendedTypeCaption(ilBadgeType $a_type)
static formatDate(ilDateTime $date)
Format a date @access public.
@classDescription Date and time handling
static _lookupObjId($a_id)
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.
static _lookupType($a_id, $a_reference=false)
lookup object type
getParentCmd()
Get parent command.
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.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
setData($a_data)
set table data @access public
setResetCommand($a_val, $a_caption=null)
Set reset filter command.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
setLimit($a_limit=0, $a_default_limit=0)
set max.
addMultiCommand($a_cmd, $a_text)
Add Command button.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
setDescription($a_val)
Set description.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
addFilterItemByMetaType($id, $type=self::FILTER_TEXT, $a_optional=false, $caption=NULL)
Add filter by standard type.
setFilterCommand($a_val, $a_caption=null)
Set filter command.