Example #1
0
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     if ($this->getIdentifier() == 'delete') {
         $view->setTemplate('Nethgui\\Template\\Table\\Delete');
     }
 }
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     $h = \NethServer\Module\Mail\Mailbox::getQuotaUiFunction($this->getPlatform()->getDatabase('configuration'));
     $h['unlimited'] = $view->translate('Unlimited_quota');
     $view['MailQuotaCustomDatasource'] = \Nethgui\Renderer\AbstractRenderer::hashToDatasource($h);
     $view['MailSpamRetentionTimeDatasource'] = \Nethgui\Renderer\AbstractRenderer::hashToDatasource(array('1d' => $view->translate('${0} day', array(1)), '2d' => $view->translate('${0} days', array(2)), '4d' => $view->translate('${0} days', array(4)), '7d' => $view->translate('${0} days', array(7)), '15d' => $view->translate('${0} days', array(15)), '30d' => $view->translate('${0} days', array(30)), '60d' => $view->translate('${0} days', array(60)), '90d' => $view->translate('${0} days', array(90)), '180d' => $view->translate('${0} days', array(180)), 'infinite' => $view->translate('ever')));
 }
 public function nextPath()
 {
     // Workaround for LazyLoaderAdapter to reload table contents after mutation request
     if ($this->getRequest()->isMutation()) {
         return '/FirewallObjects/Services/read';
     }
     return parent::nextPath();
 }
Example #4
0
 public function process()
 {
     parent::process();
     if ($this->getRequest()->isMutation()) {
         if ($this->getAdapter()->offsetExists('LeaseStatus')) {
             $this->getAdapter()->offsetUnset('LeaseStatus');
         }
     }
 }
Example #5
0
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     if ($this->getIdentifier() == 'delete') {
         $view->setTemplate('Nethgui\\Template\\Table\\Delete');
     }
     $view['DaysDatasource'] = array_map(function ($fmt) use($view) {
         return array($fmt, $view->translate($fmt . '_label'));
     }, $this->days);
 }
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     $templates = array('create' => 'NethServer\\Template\\Providers\\Modify', 'update' => 'NethServer\\Template\\Providers\\Modify', 'delete' => 'Nethgui\\Template\\Table\\Delete');
     $view->setTemplate($templates[$this->getIdentifier()]);
     if (!$this->interfaces) {
         $this->interfaces = $this->readInterfaces();
     }
     $tmp = array();
     foreach ($this->interfaces as $key) {
         $tmp[] = array($key, $key);
     }
     $view['interfaceDatasource'] = $tmp;
 }
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     $view['DeviceDatasource'] = array_map(function ($fmt) use($view) {
         if ($fmt == '') {
             $label = $view->translate('any_label');
         } else {
             $label = $fmt;
         }
         return array($fmt, $label);
     }, $this->listInterfaces());
     $templates = array('create' => 'NethServer\\Template\\StaticRoutes\\Modify', 'update' => 'NethServer\\Template\\StaticRoutes\\Modify', 'delete' => 'Nethgui\\Template\\Table\\Delete');
     $view->setTemplate($templates[$this->getIdentifier()]);
 }
Example #8
0
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     if ($this->getIdentifier() != 'delete') {
         $view->setTemplate('NethServer\\Template\\Proxy\\BypassModify');
     } else {
         $view->setTemplate('Nethgui\\Template\\Table\\Delete');
     }
     $this->prepareVars();
     $h = $view->translate('Hosts_label');
     $hg = $view->translate('HostGroups_label');
     $hosts = $this->arrayToDatasource($this->hosts, 'host');
     $groups = $this->arrayToDatasource($this->hostGroups, 'host-group');
     $view['HostDatasource'] = array(array($hosts, $h), array($groups, $hg));
 }
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     if (!$this->getRequest()->isValidated()) {
         return;
     }
     $view['accessDatasource'] = array_map(function ($fmt) use($view) {
         $label = $view->translate($fmt . '_label');
         if ($label == $fmt . '_label') {
             $label = $fmt;
         }
         return array($fmt, $label);
     }, $this->listZones());
     $serviceRecord = $this->getPlatform()->getDatabase('configuration')->getKey($this->parameters['name']);
     $view['Config'] = self::getConfigForView($view, $serviceRecord);
 }
Example #10
0
 public function validate(\Nethgui\Controller\ValidationReportInterface $report)
 {
     $ips = explode(',', $this->parameters['AllowHosts']);
     $ipvalidator = $this->createValidator(Validate::IPv4_OR_EMPTY);
     $cidrvalidator = $this->createValidator(Validate::CIDR_BLOCK);
     foreach ($ips as $ip) {
         if (!$ipvalidator->evaluate($ip) && !$cidrvalidator->evaluate($ip)) {
             $report->addValidationErrorMessage($this, 'AllowHosts', 'AllowHosts_validator');
         }
     }
     $ips = explode(',', $this->parameters['DenyHosts']);
     $ipvalidator = $this->createValidator(Validate::IPv4_OR_EMPTY);
     foreach ($ips as $ip) {
         if (!$ipvalidator->evaluate($ip) && !$cidrvalidator->evaluate($ip)) {
             $report->addValidationErrorMessage($this, 'DenyHosts', 'DenyHosts_validator');
         }
     }
     parent::validate($report);
 }
Example #11
0
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     $templates = array('create' => 'NethServer\\Template\\SharedFolder\\Modify', 'update' => 'NethServer\\Template\\SharedFolder\\Modify', 'delete' => 'Nethgui\\Template\\Table\\Delete');
     $view->setTemplate($templates[$this->getIdentifier()]);
     $owners = array(array('locals', $view->translate('locals_group_label')));
     $subjects = array(array('locals', $view->translate('locals_group_label')));
     foreach ($this->getPlatform()->getDatabase('accounts')->getAll('group') as $keyName => $props) {
         $entry = array($keyName, sprintf("%s (%s)", isset($props['Description']) ? $props['Description'] : $keyName, $keyName));
         $owners[] = $entry;
         $subjects[] = $entry;
     }
     $view['OwningGroupDatasource'] = $owners;
     foreach ($this->getPlatform()->getDatabase('accounts')->getAll('user') as $keyName => $props) {
         $entry = array($keyName, sprintf("%s (%s)", trim($props['FirstName'] . ' ' . $props['LastName']), $keyName));
         $subjects[] = $entry;
     }
     $view['AclSubjects'] = $subjects;
     $view['reset-permissions'] = $view->getModuleUrl('../reset-permissions/' . $this->getAdapter()->getKeyValue());
 }
Example #12
0
 public function validate(\Nethgui\Controller\ValidationReportInterface $report)
 {
     parent::validate($report);
     if (!$this->getRequest()->isMutation() || $report->hasValidationErrors()) {
         return;
     }
     // check the "network" parameter is consistent with its "Mask" (only 0-bits in tail)
     $net = long2ip(ip2long($this->parameters['network']) & ip2long($this->parameters['Mask']));
     if ($net != $this->parameters['network']) {
         $report->addValidationErrorMessage($this, 'network', 'invalid_network', array($this->parameters['network']));
         return;
     }
     // check the network is not subnet of existing networks and vice-versa
     foreach ($this->getParent()->getAdapter() as $net => $props) {
         if ($this->isUsed($this->parameters['network'], $this->parameters['Mask'], $net, $props['Mask'])) {
             $report->addValidationErrorMessage($this, 'network', 'used_network', array($this->parameters['network'], $net));
             return;
         }
     }
 }
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     $templates = array('create' => 'NethServer\\Template\\VPN\\IpsecTunnels\\Modify', 'update' => 'NethServer\\Template\\VPN\\IpsecTunnels\\Modify', 'delete' => 'Nethgui\\Template\\Table\\Delete');
     $view->setTemplate($templates[$this->getIdentifier()]);
     $view['ikecipherDatasource'] = array_map(function ($fmt) use($view) {
         return array($fmt, $view->translate($fmt . '_label'));
     }, $this->ciphers);
     $view['ikehashDatasource'] = array_map(function ($fmt) use($view) {
         return array($fmt, $view->translate($fmt . '_label'));
     }, $this->hashes);
     $view['ikepfsgroupDatasource'] = array_map(function ($fmt) use($view) {
         return array($fmt, $view->translate($fmt . '_label'));
     }, $this->pfsgroups);
     $view['espcipherDatasource'] = array_map(function ($fmt) use($view) {
         return array($fmt, $view->translate($fmt . '_label'));
     }, $this->ciphers);
     $view['esphashDatasource'] = array_map(function ($fmt) use($view) {
         return array($fmt, $view->translate($fmt . '_label'));
     }, $this->hashes);
     $view['esppfsgroupDatasource'] = array_map(function ($fmt) use($view) {
         return array($fmt, $view->translate($fmt . '_label'));
     }, $this->pfsgroups);
     $left = array();
     foreach ($this->getNetworkInterfaces() as $key => $props) {
         if (isset($props['ipaddr']) && $props['ipaddr']) {
             $label = "{$key} - {$props['ipaddr']}";
         } elseif (isset($props['bootproto']) && $props['bootproto'] === 'dhcp') {
             $label = "{$key} - DHCP";
         } elseif (isset($props['type']) && $props['type'] === 'xdsl') {
             $label = "{$key} - PPPoE";
         } else {
             continue;
         }
         $left[] = array("%{$key}", $label);
     }
     $view['leftDatasource'] = $left;
 }
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     $view['contactDefaults'] = $this->getPlatform()->getDatabase('configuration')->getKey('OrganizationContact');
     if (isset($this->parameters['username'])) {
         $view['ChangePassword'] = $view->getModuleUrl('../ChangePassword/' . $this->parameters['username']);
         $view['FormAction'] = $view->getModuleUrl($this->parameters['username']);
     } else {
         $view['ChangePassword'] = '';
     }
 }
Example #15
0
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     $this->prepareVars();
     if ($this->getIdentifier() == 'delete') {
         $view->setTemplate('Nethgui\\Template\\Table\\Delete');
     }
     $view['FilterDatasource'] = $this->arrayToDatasource($this->filters, 'filter');
     $tmp = $this->arrayToDatasource($this->times, 'time');
     array_unshift($tmp, array('', $view->translate('always_label')));
     $view['TimeDatasource'] = $tmp;
     $tmp = array();
     $u = $view->translate('Users_label');
     $ug = $view->translate('UserGroups_label');
     $users = $this->arrayToDatasource($this->users, 'user');
     if ($users) {
         $tmp[] = array($users, $u);
     }
     $groups = $this->arrayToDatasource($this->userGroups, 'group');
     if ($groups) {
         $tmp[] = array($groups, $ug);
     }
     $h = $view->translate('Hosts_label');
     $hg = $view->translate('HostGroups_label');
     $hosts = $this->arrayToDatasource($this->hosts, 'host');
     if ($hosts) {
         $tmp[] = array($hosts, $h);
     }
     $hgroups = $this->arrayToDatasource($this->hostGroups, 'host-group');
     if ($hgroups) {
         $tmp[] = array($hgroups, $hg);
     }
     $i = $view->translate('IpRanges_label');
     $ipranges = $this->arrayToDatasource($this->ipranges, 'iprange');
     if ($ipranges) {
         $tmp[] = array($ipranges, $i);
     }
     $c = $view->translate('Cidrs_label');
     $cidrs = $this->arrayToDatasource($this->cidrs, 'cidr');
     if ($cidrs) {
         $tmp[] = array($cidrs, $c);
     }
     $roles = $this->arrayToDatasource($this->roles, 'role');
     $zones = $this->arrayToDatasource($this->zones, 'zone');
     $z = $view->translate('Zones_label');
     if ($zones || $roles) {
         $tmp[] = array(array_merge($roles, $zones), $z);
     }
     $adu = $view->translate('ADUsers_label');
     $adusers = array();
     foreach ($this->ADUsers as $k) {
         $adusers[] = array($k, $k);
     }
     if ($adusers) {
         $tmp[] = array($adusers, $adu);
     }
     $view['SrcDatasource'] = $tmp;
 }
Example #16
0
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     if ($this->getIdentifier() == 'delete') {
         $view->setTemplate('Nethgui\\Template\\Table\\Delete');
     }
     $view['BlockAllDatasource'] = array_map(function ($fmt) use($view) {
         return array($fmt, $view->translate($fmt . '_label'));
     }, array('enabled', 'disabled'));
     if (!$this->categories) {
         $this->readCategories();
     }
     $tmp = array();
     $lang = strtoupper($view->getTranslator()->getLanguageCode());
     foreach ($this->categories as $cat) {
         $t = $cat;
         if (isset($this->index[$cat]["NAME {$lang}"])) {
             $t = $this->index[$cat]["NAME {$lang}"];
         } else {
             if (isset($this->index[$cat]["NAME"])) {
                 $t = $this->index[$cat]["NAME"];
             }
         }
         $tmp[] = array($cat, ucfirst($t));
     }
     usort($tmp, array($this, 'cmpcat'));
     $view['CategoriesDatasource'] = $tmp;
 }
Example #17
0
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     if ($this->getIdentifier() === 'create' && !$this->getRequest()->isMutation()) {
         $view['setPassword'] = '******';
     }
     if (isset($this->parameters['username'])) {
         $view['ChangePassword'] = $view->getModuleUrl('../ChangePassword/' . $this->parameters['username']);
         $view['FormAction'] = $view->getModuleUrl($this->parameters['username']);
     } else {
         $view['ChangePassword'] = '';
     }
     $tmp = array();
     if ($this->getRequest()->isValidated()) {
         foreach ($this->getGroupProvider()->getGroups() as $key => $values) {
             $tmp[] = array($key, $key);
         }
         $view->getCommandList()->show();
         // required by nextPath() method of this class
     }
     $view['isAD'] = $this->getGroupProvider()->isAD();
     $view['groupsDatasource'] = $tmp;
     $view['domain'] = $this->getPlatform()->getDatabase('configuration')->getType('DomainName');
 }
Example #18
0
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     $templates = array('create' => 'NethServer\\Template\\VPN\\Clients\\Modify', 'update' => 'NethServer\\Template\\VPN\\Clients\\Modify', 'delete' => 'Nethgui\\Template\\Table\\Delete');
     $view->setTemplate($templates[$this->getIdentifier()]);
     $view['ModeDatasource'] = array_map(function ($fmt) use($view) {
         return array($fmt, $view->translate($fmt . '_label'));
     }, array('routed', 'bridged'));
 }
Example #19
0
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     $templates = array('create' => 'NethServer\\Template\\FirewallObjects\\HostGroups\\Modify', 'update' => 'NethServer\\Template\\FirewallObjects\\HostGroups\\Modify', 'delete' => 'Nethgui\\Template\\Table\\Delete');
     $view->setTemplate($templates[$this->getIdentifier()]);
 }
Example #20
0
 /**
  * Delete the record after the event has been successfully completed
  * @param string $key
  */
 protected function processDelete($key)
 {
     parent::processDelete($key);
 }
 /**
  * Do not really delete the record, but change its type.
  * @param string $key
  */
 protected function processDelete($key)
 {
     $accountDb = $this->getPlatform()->getDatabase('accounts');
     $accountDb->setType($key, 'pseudonym-deleted');
     $deleteProcess = $this->getPlatform()->signalEvent('pseudonym-delete', array($key));
     if ($deleteProcess->getExitCode() === 0) {
         parent::processDelete($key);
     }
 }
Example #22
0
 public function prepareView(\Nethgui\View\ViewInterface $view)
 {
     parent::prepareView($view);
     $templates = array('create' => 'NethServer\\Template\\Group\\Modify', 'update' => 'NethServer\\Template\\Group\\Modify', 'delete' => 'Nethgui\\Template\\Table\\Delete');
     $view->setTemplate($templates[$this->getIdentifier()]);
     $tmp = array();
     if ($this->getRequest()->isValidated()) {
         foreach ($this->getUserProvider()->getUsers() as $key => $values) {
             $tmp[] = array($key, $key);
         }
         $view->getCommandList()->show();
         // required by nextPath() method of this class
     }
     $view['membersDatasource'] = $tmp;
     $view['domain'] = $this->getPlatform()->getDatabase('configuration')->getType('DomainName');
 }