Ejemplo n.º 1
0
 /**
  * Validate the resource configuration by trying to connect with it
  *
  * @param   Form    $form   The form to fetch the configuration values from
  *
  * @return  bool            Whether validation succeeded or not
  */
 public static function isValidResource(Form $form)
 {
     $result = ResourceFactory::createResource(new ConfigObject($form->getValues()))->inspect();
     if ($result->hasError()) {
         $form->addError(sprintf('%s (%s)', $form->translate('Connectivity validation failed, connection to the given resource not possible.'), $result->getError()));
     }
     // TODO: display diagnostics in $result->toArray() to the user
     return !$result->hasError();
 }
Ejemplo n.º 2
0
 /**
  * {@inheritdoc}
  *
  * Values from subforms are directly added to the returned values array instead of being grouped by the subforms'
  * names.
  */
 public function getValues($suppressArrayNotation = false)
 {
     $values = parent::getValues($suppressArrayNotation);
     foreach (array_keys($this->_subForms) as $name) {
         // Zend returns values from subforms grouped by their names, but we want them flat
         $values = array_merge($values, $values[$name]);
         unset($values[$name]);
     }
     return $values;
 }
Ejemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 public function getValues($suppressArrayNotation = false)
 {
     $values = parent::getValues($suppressArrayNotation);
     if (isset($values['url']) && $values['url']) {
         $url = Url::fromPath($values['url']);
         if (!$url->isExternal() && ($relativePath = $url->getRelativeUrl())) {
             $values['url'] = $relativePath;
         }
     }
     return $values;
 }
Ejemplo n.º 4
0
 /**
  * {@inheritdoc}
  */
 public function getValues($suppressArrayNotation = false)
 {
     $values = parent::getValues($suppressArrayNotation);
     if ($values['themes_default'] === '' || $values['themes_default'] === StyleSheet::DEFAULT_THEME) {
         $values['themes_default'] = null;
     }
     if (!$values['themes_disabled']) {
         $values['themes_disabled'] = null;
     }
     return $values;
 }
Ejemplo n.º 5
0
 /**
  * Validate the resource configuration by trying to connect with it
  *
  * @param   Form    $form   The form to fetch the configuration values from
  *
  * @return  bool            Whether validation succeeded or not
  */
 public static function isValidResource(Form $form)
 {
     try {
         $resource = ResourceFactory::createResource(new ConfigObject($form->getValues()));
         $resource->getConnection()->getConnection();
     } catch (Exception $e) {
         $form->addError($form->translate('Connectivity validation failed, connection to the given resource not possible.'));
         return false;
     }
     return true;
 }
Ejemplo n.º 6
0
 /**
  * {@inheritdoc}
  */
 public function getValues($suppressArrayNotation = false)
 {
     $values = parent::getValues($suppressArrayNotation);
     if ($values['themes_default'] === 'Icinga') {
         $values['themes_default'] = null;
     }
     if (!$values['themes_disabled']) {
         $values['themes_disabled'] = null;
     }
     return $values;
 }
Ejemplo n.º 7
0
 /**
  * {@inheritdoc}
  */
 public function getValues($suppressArrayNotation = false)
 {
     $values = parent::getValues($suppressArrayNotation);
     if (isset($values['url']) && $values['url']) {
         $url = Url::fromPath($values['url']);
         if ($url->getBasePath() === $this->getRequest()->getBasePath()) {
             $values['url'] = $url->getRelativeUrl();
         } else {
             $values['url'] = $url->getAbsoluteUrl();
         }
     }
     return $values;
 }
Ejemplo n.º 8
0
 /**
  * Validate the resource configuration by trying to connect with it
  *
  * @param   Form    $form   The form to fetch the configuration values from
  *
  * @return  bool            Whether validation succeeded or not
  */
 public static function isValidResource(Form $form)
 {
     try {
         $resource = ResourceFactory::createResource(new ConfigObject($form->getValues()));
         $resource->bind();
     } catch (Exception $e) {
         $msg = $form->translate('Connectivity validation failed, connection to the given resource not possible.');
         if ($error = $e->getMessage()) {
             $msg .= ' (' . $error . ')';
         }
         $form->addError($msg);
         return false;
     }
     return true;
 }
Ejemplo n.º 9
0
 /**
  * Validate the configuration by creating a backend and requesting the user count
  *
  * @param   Form    $form   The form to fetch the configuration values from
  *
  * @return  bool            Whether validation succeeded or not
  */
 public static function isValidUserBackend(Form $form)
 {
     try {
         $ldapUserBackend = UserBackend::create(null, new ConfigObject($form->getValues()));
         $ldapUserBackend->assertAuthenticationPossible();
     } catch (AuthenticationException $e) {
         if (($previous = $e->getPrevious()) !== null) {
             $form->addError($previous->getMessage());
         } else {
             $form->addError($e->getMessage());
         }
         return false;
     } catch (Exception $e) {
         $form->addError(sprintf($form->translate('Unable to validate authentication: %s'), $e->getMessage()));
         return false;
     }
     return true;
 }
Ejemplo n.º 10
0
 /**
  * Create a resource by using the given form's values and return its inspection results
  *
  * @param   Form    $form
  *
  * @return  Inspection
  */
 public static function inspectResource(Form $form)
 {
     if ($form->getValue('type') !== 'ssh') {
         $resource = ResourceFactory::createResource(new ConfigObject($form->getValues()));
         if ($resource instanceof Inspectable) {
             return $resource->inspect();
         }
     }
 }
Ejemplo n.º 11
0
 /**
  * Retrieve all form element values
  *
  * @param   bool    $suppressArrayNotation  Ignored
  *
  * @return  array
  */
 public function getValues($suppressArrayNotation = false)
 {
     $values = parent::getValues();
     $values = array_merge($values, $values['backend_form']);
     unset($values['backend_form']);
     return $values;
 }
Ejemplo n.º 12
0
 /**
  * Create a user backend by using the given form's values and return its inspection results
  *
  * Returns null for non-inspectable backends.
  *
  * @param   Form    $form
  *
  * @return  Inspection|null
  */
 public static function inspectUserBackend(Form $form)
 {
     $backend = UserBackend::create(null, new ConfigObject($form->getValues()));
     if ($backend instanceof Inspectable) {
         return $backend->inspect();
     }
 }
Ejemplo n.º 13
0
 /**
  * Validate the configuration by creating a backend and requesting the user count
  *
  * @param   Form    $form   The form to fetch the configuration values from
  *
  * @return  bool            Whether validation succeeded or not
  */
 public static function isValidUserBackend(Form $form)
 {
     /**
      * @var $result Inspection
      */
     $result = UserBackend::create(null, new ConfigObject($form->getValues()))->inspect();
     if ($result->hasError()) {
         $form->addError($result->getError());
     }
     // TODO: display diagnostics in $result->toArray() to the user
     return !$result->hasError();
 }