private function getGroupsViewValue(\Nethgui\View\ViewInterface $view)
 {
     static $groupsState;
     if (isset($groupsState)) {
         return $groupsState;
     }
     $groupsState = array();
     foreach (iterator_to_array($this->getAdapter()) as $id => $yumGroup) {
         if ($yumGroup['status'] === 'available') {
             continue;
             // skip installed groups
         }
         if (isset($this->parameters['groups'][$id])) {
             $groupsState[$id] = $this->parameters['groups'][$id];
         } else {
             $groupsState[$id]['opackages_selected'] = array();
         }
         $groupsState[$id]['id'] = $yumGroup['id'];
         $groupsState[$id]['name'] = $yumGroup['name'];
         $groupsState[$id]['description'] = $yumGroup['description'];
         $groupsState[$id]['Edit'] = array($view->getModuleUrl('../../EditModule/' . $id), $view->translate('Edit_label'));
         $groupsState[$id]['Remove'] = array($view->getModuleUrl('../../Review?removeGroup=' . $id), $view->translate('Remove_label'));
     }
     foreach ($this->getCategories($view) as $category) {
         foreach ($category['groups'] as $id) {
             if (isset($groupsState[$id])) {
                 $groupsState[$id]['categories'][] = $category['name'];
             }
         }
     }
     usort($groupsState, function ($a, $b) {
         return strcasecmp($a['name'], $b['name']);
     });
     return $groupsState;
 }
Esempio n. 2
0
 private function formatObject(\Nethgui\View\ViewInterface $view, $val, $default = 'any_label')
 {
     if (!$val) {
         return $view->translate($default);
     }
     $tmp = explode(';', $val);
     return $view->translate($tmp[0] . '_label') . ": " . $tmp[1];
 }
 public function prepareViewForColumnMailSpamRetentionTime(\Nethgui\Controller\Table\Read $action, \Nethgui\View\ViewInterface $view, $key, $values, &$rowMetadata)
 {
     if ($values['MailSpamRetentionStatus'] == 'enabled') {
         if ($values['MailSpamRetentionTime'] == 'infinite') {
             return $view->translate('ever');
         } else {
             return $view->translate('${0} days', array(substr($values['MailSpamRetentionTime'], 0, -1)));
         }
     }
     return '-';
 }
Esempio n. 4
0
 public static function getConfigForView(\Nethgui\View\ViewInterface $view, $record)
 {
     $tcpPorts = implode(', ', array_filter(array_merge(explode(',', $record['TCPPort']), explode(',', $record['TCPPorts']))));
     $udpPorts = implode(', ', array_filter(array_merge(explode(',', $record['UDPPort']), explode(',', $record['UDPPorts']))));
     $ports = array($view->translate(sprintf('ServiceStatus_%s_label', $record['status'] === 'enabled' ? 'enabled' : 'disabled')));
     if ($tcpPorts) {
         $ports[] = $view->translate('TCP_ports_label', array($tcpPorts));
     }
     if ($udpPorts) {
         $ports[] = $view->translate('UDP_ports_label', array($udpPorts));
     }
     return $ports;
 }
Esempio n. 5
0
 public function prepareViewForColumnTime(\Nethgui\Controller\Table\Read $action, \Nethgui\View\ViewInterface $view, $key, $values, &$rowMetadata)
 {
     if (!isset($values['Time'])) {
         return $view->translate('always_label');
     }
     return $this->formatObject($view, $values['Time'], 'always_label');
 }
 public function prepareViewForColumnRecipients(\Nethgui\Controller\Table\Read $action, \Nethgui\View\ViewInterface $view, $key, $values, &$rowMetadata)
 {
     $recipients = $values['Recipients'];
     if (count($recipients) <= 3) {
         return implode(', ', $recipients);
     }
     return implode(', ', array_merge(array_slice($recipients, 0, 2), array($view->translate('AndXMore', array(count($recipients) - 2)))));
 }
 private function getActionsText(\Nethgui\View\ViewInterface $view)
 {
     $data = $this->parameters->getArrayCopy();
     if ($data['type'] == 'bridge') {
         $data['parts'] = str_replace(',', ', ', $data['bridge']);
     } elseif ($data['type'] == 'bond') {
         $data['parts'] = str_replace(',', ', ', $data['bond']);
         $data['bondMode'] = $view->translate("BondMode_{$data['bondMode']}_label");
     } elseif ($data['type'] == 'vlan') {
         $data['parts'] = $data['vlan'];
     } else {
         $data['parts'] = '';
     }
     $actions = array();
     $actions[] = $view->translate("Action_create_{$data['type']}", $data);
     if ($data['bootproto'] === 'dhcp') {
         $actions[] = $view->translate('Action_use_dhcp', $data);
     } elseif ($data['bootproto'] === 'none') {
         $actions[] = $view->translate('Action_set_static_ip', $data);
         if ($data['gateway']) {
             $actions[] = $view->translate('Action_use_gateway', $data);
         } else {
             $actions[] = $view->translate('Action_use_no_gateway', $data);
         }
     }
     $actions[] = $view->translate("Action_create_role", $data);
     return $actions;
 }
 private function getMessageText(\Nethgui\View\ViewInterface $view)
 {
     if (in_array($this->parameters['role'], array('bridged', 'slave', 'pppoe'))) {
         $msgTemplate = sprintf("ReleasePhysicalInterface_%s_message", $this->parameters['role']);
     } else {
         $msgTemplate = "ReleasePhysicalInterface_roled_message";
     }
     return $view->translate($msgTemplate, \iterator_to_array($this->parameters));
 }
 private function getAccounts(\Nethgui\View\ViewInterface $view)
 {
     static $ds;
     if (isset($ds)) {
         return $ds;
     }
     $data = json_decode($this->getPlatform()->exec("/usr/bin/sudo /usr/libexec/nethserver/read-mail-accounts")->getOutput(), TRUE);
     $users = \Nethgui\Widget\XhtmlWidget::hashToDatasource($data['users'], TRUE);
     $groups = \Nethgui\Widget\XhtmlWidget::hashToDatasource($data['groups'], TRUE);
     $ds = array();
     if ($users) {
         $ds[] = array($users, $view->translate('Users_label'));
     }
     if ($groups) {
         $ds[] = array($groups, $view->translate('Groups_label'));
     }
     return $ds;
 }
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     $sz = array('10' => '10 MB', '20' => '20 MB', '50' => '50 MB', '100' => '100 MB', '200' => '200 MB', '500' => '500 MB', '1000' => '1 GB', $this->parameters['MessageSizeMax'] => sprintf('%s MB', $this->parameters['MessageSizeMax']));
     ksort($sz, SORT_NUMERIC);
     $view['MessageSizeMaxDatasource'] = \Nethgui\Renderer\AbstractRenderer::hashToDatasource($sz);
     $lt = array('1' => $view->translate('${0} day', array(1)), '2' => $view->translate('${0} days', array(2)), '4' => $view->translate('${0} days', array(4)), '7' => $view->translate('${0} days', array(7)), '15' => $view->translate('${0} days', array(15)), '30' => $view->translate('${0} days', array(30)), $this->parameters['MessageQueueLifetime'] => $view->translate('${0} days', array($this->parameters['MessageQueueLifetime'])));
     ksort($lt, SORT_NUMERIC);
     $view['MessageQueueLifetimeDatasource'] = \Nethgui\Renderer\AbstractRenderer::hashToDatasource($lt);
     parent::prepareView($view);
 }
Esempio n. 11
0
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     if (!$this->getRequest()->isValidated()) {
         $this->getAdapter()->setLoader(NULL);
     } else {
         $view->getCommandList()->show();
     }
     if ($this->getRequest()->hasParameter('installSuccess')) {
         $this->getAction('AdminTodo')->emitNotifications = TRUE;
         $this->notifications->message($view->translate('package_success'));
     }
     parent::prepareView($view);
 }
Esempio n. 12
0
 private function getNicInfo(\Nethgui\View\ViewInterface $view)
 {
     $v = array();
     $nicInfo = array();
     if ($this->getAdapter()->offsetGet('type') === 'ethernet') {
         // Array of informations about NIC.
         // Fields: name, hwaddr, bus, model, driver, speed, link
         // Eg: green,08:00:27:77:fd:be,pci,Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02),e1000,1000,1
         $nicInfo = str_getcsv($this->getPlatform()->exec('/usr/bin/sudo -n /usr/libexec/nethserver/nic-info ${1}', array($this->parameters['device']))->getOutput());
     }
     $v['dev'] = isset($this->parameters['device']) ? $this->parameters['device'] : '';
     $v['mac'] = \strtolower(isset($nicInfo[1]) ? $nicInfo[1] : '');
     $v['bus'] = \strtolower(isset($nicInfo[2]) ? $nicInfo[2] : "");
     $v['model'] = isset($nicInfo[3]) ? $nicInfo[3] : "";
     $v['driver'] = isset($nicInfo[4]) ? $nicInfo[4] : "";
     $v['speed'] = isset($nicInfo[5]) && $nicInfo[5] ? $nicInfo[5] : "0";
     if (!isset($nicInfo[6]) || intval($nicInfo[6]) < 0) {
         $v['link'] = $view->translate('Link_status_na');
     } else {
         $v['link'] = $nicInfo[6] ? $view->translate('Link_status_up') : $view->translate('Link_status_down');
     }
     return $v;
 }
Esempio n. 13
0
 public function getRoleText(\Nethgui\View\ViewInterface $view, $key, $values = NULL)
 {
     if (is_null($values)) {
         $values = $this->getAdapter()->offsetGet($key);
     }
     if (!isset($values['role']) || !$values['role']) {
         return '';
     }
     $roleLabel = $view->translate($values['role'] . "_label");
     if ($values['role'] === 'slave') {
         return $roleLabel . " (" . $values['master'] . ")";
     } elseif ($values['role'] === 'bridged') {
         return $roleLabel . " (" . $values['bridge'] . ")";
     }
     return $roleLabel;
 }
Esempio n. 14
0
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     if (!$this->getRequest()->isValidated()) {
         $this->getAdapter()->setLoader(NULL);
     } else {
         $view->getCommandList()->show();
     }
     if ($this->getRequest()->hasParameter('installSuccess')) {
         $this->getAction('AdminTodo')->emitNotifications = TRUE;
         $this->notifications->yumSuccess(array('message' => $view->translate('YumSuccess_message'), 'description' => $view->translate('YumSuccess_description'), 'buttonLabel' => $view->translate('YumSuccess_button_label'), 'action' => $view->getModuleUrl('..')));
     } elseif ($this->getRequest()->hasParameter('installFailure')) {
         $taskStatus = $this->systemTasks->getTaskStatus($this->getRequest()->getParameter('taskId'));
         if (isset($taskStatus['children'][0]['message'])) {
             $message = $taskStatus['children'][0]['message'];
         } else {
             $message = $view->translate('An unknown installation error has occurred');
         }
         $this->notifications->yumError(array('message' => $message, 'description' => $view->translate('ClearYumCache_description'), 'buttonLabel' => $view->translate('ClearYumCache_label'), 'action' => $view->getModuleUrl('../ClearYumCache')));
     }
     parent::prepareView($view);
     if (isset($this->yumError)) {
         $this->notifications->yumError(array('message' => $this->yumError, 'description' => $view->translate('ClearYumCache_description'), 'buttonLabel' => $view->translate('ClearYumCache_label'), 'action' => $view->getModuleUrl('../ClearYumCache')));
     }
 }
Esempio n. 15
0
 private function getCategoriesViewValue(\Nethgui\View\ViewInterface $view)
 {
     $groups = array();
     $categories = $this->getParent()->getYumCategories();
     if (count($categories) === 0) {
         return array();
     }
     foreach ($this->getAdapter() as $group) {
         $groups[] = $group['id'];
     }
     $everything = array('id' => 'everything', 'name' => $view->translate('Everything_category_label'), 'description' => $view->translate('Everything_category_description'), 'display_order' => 0, 'groups' => array_unique($groups), 'selected' => TRUE);
     return array_merge(array($everything), $categories);
 }
 /**
  *
  * @param \Nethgui\Controller\Table\Read $action
  * @param \Nethgui\View\ViewInterface $view
  * @param string $key The data row key
  * @param array $values The data row values
  * @return string|\Nethgui\View\ViewInterface
  */
 public function prepareViewForColumnPorts(\Nethgui\Controller\Table\Read $action, \Nethgui\View\ViewInterface $view, $key, $values, &$rowMetadata)
 {
     $ret = " ";
     $tcp = isset($values['TCPPort']) ? $values['TCPPort'] : "";
     if ($tcp == "" && isset($values['TCPPorts'])) {
         $tcp = $values['TCPPorts'];
     }
     $udp = isset($values['UDPPort']) ? $values['UDPPort'] : "";
     if ($udp == "" && isset($values['UDPPorts'])) {
         $udp = $values['UDPPorts'];
     }
     if ($tcp !== "") {
         $ret .= $view->translate("TCPPorts_label") . ": {$tcp} ";
     }
     if ($udp !== "") {
         $ret .= " " . $view->translate("UDPPorts_label") . ": {$udp} ";
     }
     return $ret;
 }
Esempio n. 17
0
 private function prepareInitializationView(\Nethgui\View\ViewInterface $view)
 {
     $firstRunningTask = \Nethgui\array_head(array_keys($this->systemTasks->getRunningTasks()));
     if ($firstRunningTask) {
         // Notify that the task is running:
         $this->notifications->trackerRunning(array('taskId' => $firstRunningTask));
         $view['trackerState'] = FALSE;
         $view['progress'] = FALSE;
         $view['message'] = '';
         return;
     }
     $firstStartingTask = \Nethgui\array_head(array_keys($this->systemTasks->getStartingTasks()));
     if ($firstStartingTask) {
         $view['progress'] = 0;
         $view['message'] = '...';
         $view['trackerState'] = array('dialog' => array('title' => $view->translate('Tracker_title_taskStarting'), 'action' => 'open'), 'location' => array('sleep' => 2000, 'url' => $view->getModuleUrl($firstStartingTask)));
         return;
     }
 }
 public function prepareViewForColumnNoKeep(\Nethgui\Controller\Table\Read $action, \Nethgui\View\ViewInterface $view, $key, $values, &$rowMetadata)
 {
     return $view->translate($values['nokeep'] . "_label");
 }
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     $view['download'] = $view->translate("see_log_label");
 }
 private function readDomainAddressDatasource(\Nethgui\View\ViewInterface $view)
 {
     $domains = array(array('', $view->translate('ANY_DOMAIN')));
     foreach ($this->getPlatform()->getDatabase('domains')->getAll('domain') as $key => $prop) {
         $domains[] = array($key, $key);
     }
     return $domains;
 }
 public function prepareViewForColumnOriDst(\Nethgui\Controller\Table\Read $action, \Nethgui\View\ViewInterface $view, $key, $values, &$rowMetadata)
 {
     return $values['OriDst'] ? $values['OriDst'] : $view->translate('any_label');
 }
Esempio n. 22
0
 public function translate($message, $args = array())
 {
     return $this->view->translate($message, $args);
 }