ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilECSServerTableGUI.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 include_once './Services/Table/classes/class.ilTable2GUI.php';
5 
13 {
19  public function __construct($a_parent_obj, $a_parent_cmd = "")
20  {
21  $this->setId('ecs_server_list');
22  parent::__construct($a_parent_obj, $a_parent_cmd);
23  }
24 
28  public function initTable()
29  {
30  $this->setTitle($this->lng->txt('ecs_available_ecs'));
31  $this->setRowTemplate('tpl.ecs_server_row.html','Services/WebServices/ECS');
32 
33  $this->addColumn($this->lng->txt('ecs_tbl_active'), '','1%');
34  $this->addColumn($this->lng->txt('title'), '','80%');
35  $this->addColumn($this->lng->txt('actions'), '', '19%');
36  }
37 
43  public function fillRow($set)
44  {
45  global $ilCtrl;
46 
47  $ilCtrl->setParameter($this->getParentObject(),'server_id',$set['server_id']);
48  $ilCtrl->setParameterByClass('ilecsmappingsettingsgui','server_id',$set['server_id']);
49 
50  if($set['active'])
51  {
52  $this->tpl->setVariable('IMAGE_OK', ilUtil::getImagePath('icon_ok.svg'));
53  $this->tpl->setVariable('TXT_OK', $this->lng->txt('ecs_activated'));
54  }
55  else
56  {
57  $this->tpl->setVariable('IMAGE_OK', ilUtil::getImagePath('icon_not_ok.svg'));
58  $this->tpl->setVariable('TXT_OK', $this->lng->txt('ecs_inactivated'));
59  }
60 
61  $this->tpl->setVariable('VAL_TITLE', ilECSSetting::getInstanceByServerId($set['server_id'])->getTitle());
62  $this->tpl->setVariable('LINK_EDIT', $ilCtrl->getLinkTarget($this->getParentObject(),'edit'));
63  $this->tpl->setVariable('TXT_SRV_ADDR', $this->lng->txt('ecs_server_addr'));
64 
65  if(ilECSSetting::getInstanceByServerId($set['server_id'])->getServer())
66  {
67  $this->tpl->setVariable('VAL_DESC', ilECSSetting::getInstanceByServerId($set['server_id'])->getServer());
68  }
69  else
70  {
71  $this->tpl->setVariable('VAL_DESC', $this->lng->txt('ecs_not_configured'));
72  }
73 
74  $dt = ilECSSetting::getInstanceByServerId($set['server_id'])->fetchCertificateExpiration();
75  if($dt != NULL)
76  {
77  $this->tpl->setVariable('TXT_CERT_VALID', $this->lng->txt('ecs_cert_valid_until'));
78 
79  $now = new ilDateTime(time(),IL_CAL_UNIX);
80  $now->increment(IL_CAL_MONTH, 2);
81 
82  if(ilDateTime::_before($dt, $now))
83  {
84  $this->tpl->setCurrentBlock('invalid');
85  $this->tpl->setVariable('VAL_ICERT', ilDatePresentation::formatDate($dt));
86  $this->tpl->parseCurrentBlock();
87  }
88  else
89  {
90  $this->tpl->setCurrentBlock('valid');
91  $this->tpl->setVariable('VAL_VCERT', ilDatePresentation::formatDate($dt));
92  $this->tpl->parseCurrentBlock();
93  }
94  }
95 
96  // Actions
97  include_once './Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php';
98  $list = new ilAdvancedSelectionListGUI();
99  $list->setSelectionHeaderClass('small');
100  $list->setItemLinkClass('small');
101  $list->setId('actl_'.$set['server_id']);
102  $list->setListTitle($this->lng->txt('actions'));
103 
104  if(ilECSSetting::getInstanceByServerId($set['server_id'])->isEnabled())
105  {
106  $list->addItem($this->lng->txt('ecs_deactivate'), '', $ilCtrl->getLinkTarget($this->getParentObject(),'deactivate'));
107  }
108  else
109  {
110  $list->addItem($this->lng->txt('ecs_activate'), '', $ilCtrl->getLinkTarget($this->getParentObject(),'activate'));
111  }
112 
113  $list->addItem($this->lng->txt('edit'), '', $ilCtrl->getLinkTarget($this->getParentObject(),'edit'));
114  $list->addItem($this->lng->txt('copy'), '', $ilCtrl->getLinkTarget($this->getParentObject(),'cp'));
115  $list->addItem($this->lng->txt('delete'), '', $ilCtrl->getLinkTarget($this->getParentObject(),'delete'));
116  $this->tpl->setVariable('ACTIONS',$list->getHTML());
117 
118  $ilCtrl->clearParameters($this->getParentObject());
119  }
120 
125  public function parse(ilECSServerSettings $servers)
126  {
127  $rows = array();
128  foreach($servers->getServers() as $server_id => $server)
129  {
130  $tmp['server_id'] = $server->getServerId();
131  $tmp['active'] = $server->isEnabled();
132 
133  $rows[] = $tmp;
134  }
135  $this->setData($rows);
136  }
137 
138 }
139 ?>