示例#1
0
 /**
  * Returns the HTML for the parameter input.
  * 
  * @since 0.4.6
  * 
  * @return string
  */
 public function getHtml()
 {
     $html = '';
     $valueList = array();
     foreach ($this->param->getCriteria() as $criterion) {
         if ($criterion instanceof CriterionInArray) {
             $valueList[] = $criterion->getAllowedValues();
         }
     }
     if (count($valueList) > 0) {
         $valueList = count($valueList) > 1 ? call_user_func_array('array_intersect', $valueList) : $valueList[0];
         $html = $this->param->isList() ? $this->getCheckboxListInput($valueList) : $this->getSelectInput($valueList);
     } else {
         switch ($this->param->getType()) {
             case Parameter::TYPE_CHAR:
             case Parameter::TYPE_FLOAT:
             case Parameter::TYPE_INTEGER:
             case Parameter::TYPE_NUMBER:
                 $html = $this->getNumberInput();
                 break;
             case Parameter::TYPE_BOOLEAN:
                 $html = $this->getBooleanInput();
             case Parameter::TYPE_STRING:
             default:
                 $html = $this->getStrInput();
                 break;
         }
     }
     return $html;
 }
示例#2
0
 /**
  * @see ItemParameterCriterion::validate
  */
 protected function doValidation($value, Parameter $parameter, array $parameters)
 {
     if (!is_numeric($value)) {
         return false;
     }
     switch ($parameter->getType()) {
         case Parameter::TYPE_INTEGER:
             $value = (int) $value;
             break;
         case Parameter::TYPE_FLOAT:
             $value = (double) $value;
             break;
         default:
             return false;
     }
     return ($this->upperBound === false || $value <= $this->upperBound) && ($this->lowerBound === false || $value >= $this->lowerBound);
 }
示例#3
0
 /**
  * @deprecated Compatibility helper, will be removed in 0.7.
  * @since 0.5
  *
  * @param Parameter $parameter
  *
  * @return IParamDefinition
  */
 public static function newFromParameter(Parameter $parameter)
 {
     $def = self::newFromType($parameter->getType(), $parameter->getName(), $parameter->getDefault(), $parameter->getMessage() === false ? 'validator-message-nodesc' : $parameter->getMessage(), $parameter->isList());
     $def->addAliases($parameter->getAliases());
     $def->addCriteria($parameter->getCriteria());
     $def->addManipulations($parameter->getManipulations());
     $def->addDependencies($parameter->getDependencies());
     $def->setDoManipulationOfDefault($parameter->applyManipulationsToDefault);
     if ($parameter->isList()) {
         $def->setDelimiter($parameter->getDelimiter());
     }
     $def->trimValue = $parameter->trimValue;
     return $def;
 }