1<?php 2/* 3 +-----------------------------------------------------------------------------+ 4 | ILIAS open source | 5 +-----------------------------------------------------------------------------+ 6 | Copyright (c) 1998-2006 ILIAS open source, University of Cologne | 7 | | 8 | This program is free software; you can redistribute it and/or | 9 | modify it under the terms of the GNU General Public License | 10 | as published by the Free Software Foundation; either version 2 | 11 | of the License, or (at your option) any later version. | 12 | | 13 | This program is distributed in the hope that it will be useful, | 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 16 | GNU General Public License for more details. | 17 | | 18 | You should have received a copy of the GNU General Public License | 19 | along with this program; if not, write to the Free Software | 20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 21 +-----------------------------------------------------------------------------+ 22*/ 23 24include_once('Services/Table/classes/class.ilTable2GUI.php'); 25 26/** 27* 28* 29* @author Stefan Meyer <meyer@leifos.com> 30* @version $Id$ 31* 32* 33* @ingroup ServicesAccessControl 34*/ 35class ilRoleSelectionTableGUI extends ilTable2GUI 36{ 37 38 /** 39 * 40 * @return 41 * @param object $a_parent_obj 42 * @param object $a_parent_cmd 43 */ 44 public function __construct($a_parent_obj, $a_parent_cmd) 45 { 46 global $DIC; 47 48 $lng = $DIC['lng']; 49 $ilCtrl = $DIC['ilCtrl']; 50 51 $this->lng = $lng; 52 $this->ctrl = $ilCtrl; 53 54 parent::__construct($a_parent_obj, $a_parent_cmd); 55 $this->addColumn('', 'f', 1); 56 $this->addColumn($this->lng->txt('title'), 'title', "70%"); 57 $this->addColumn($this->lng->txt('context'), 'context', "30%"); 58 59 $this->setFormAction($this->ctrl->getFormAction($a_parent_obj)); 60 $this->setRowTemplate("tpl.show_role_selection_row.html", "Services/AccessControl"); 61 $this->setDefaultOrderField('type'); 62 $this->setDefaultOrderDirection("desc"); 63 } 64 65 66 /** 67 * Fill row 68 * 69 * @access public 70 * @param array row data 71 * 72 */ 73 public function fillRow($a_set) 74 { 75 $this->tpl->setVariable('VAL_ID', $a_set['id']); 76 $this->tpl->setVariable('VAL_TITLE', $a_set['title']); 77 if (strlen($a_set['description'])) { 78 $this->tpl->setVariable('VAL_DESC', $a_set['description']); 79 } 80 81 $this->tpl->setVariable('VAL_CONTEXT', $a_set['context']); 82 } 83 84 85 /** 86 * Parse Search entries 87 * 88 * @access public 89 * @param array array of search entries 90 * 91 */ 92 public function parse($entries) 93 { 94 global $DIC; 95 96 $rbacreview = $DIC['rbacreview']; 97 98 include_once './Services/AccessControl/classes/class.ilObjRole.php'; 99 foreach ($entries as $entry) { 100 $tmp_arr['id'] = $entry['obj_id']; 101 $tmp_arr['title'] = ilObjRole::_getTranslation(ilObject::_lookupTitle($entry['obj_id'])); 102 $tmp_arr['description'] = ilObject::_lookupDescription($entry['obj_id']); 103 $tmp_arr['context'] = ilObject::_lookupTitle($rbacreview->getObjectOfRole($entry['obj_id'])); 104 105 $records_arr[] = $tmp_arr; 106 } 107 108 $this->setData($records_arr ? $records_arr : array()); 109 } 110} 111