/**
  * Handles form submission.
  *
  * @return array An array of failure messages if there's a problem, otherwise null.
  */
 public final function onSubmit()
 {
     $hrps = tubepress_impl_patterns_sl_ServiceLocator::getHttpRequestParameterService();
     $id = $this->getId();
     if ($this->_optionDescriptor->isBoolean()) {
         return $this->sendToStorage($id, $hrps->hasParam($id));
     }
     if (!$hrps->hasParam($id)) {
         /* not submitted. */
         return null;
     }
     $value = $hrps->getParamValue($id);
     return $this->sendToStorage($id, $this->convertIncomingStringValueToStorageFormat($value));
 }
 private function _noChangeBetweenIncomingAndCurrent($filteredValue, tubepress_spi_options_OptionDescriptor $descriptor)
 {
     $boolean = $descriptor->isBoolean();
     $currentValue = $this->fetch($descriptor->getName());
     if ($boolean) {
         return (bool) $filteredValue === (bool) $currentValue;
     }
     return $currentValue == $filteredValue;
 }