/**
  * Bulk Filtering
  */
 public static function getAll($fields = array(), $nulls = false)
 {
     $result = array();
     foreach ($fields as $var_name => $var_type) {
         switch ($var_type) {
             case 'decimal':
                 $result[$var_name] = Filter::getDecimal($var_name);
                 break;
             case 'string':
                 $result[$var_name] = Filter::getString($var_name, $nulls);
                 break;
             case 'int':
                 $result[$var_name] = Filter::getInt($var_name);
                 break;
             case 'float':
                 $result[$var_name] = Filter::getFloat($var_name);
                 break;
             case 'bool':
                 $result[$var_name] = Filter::getBool($var_name);
                 break;
             case 'email':
                 $result[$var_name] = Filter::getEmail($var_name);
                 break;
             case 'url':
                 $result[$var_name] = Filter::getUrl($var_name);
                 break;
             case is_array($var_type):
                 $result[$var_name] = Filter::getEnum($var_name, $var_type);
                 break;
         }
     }
     return $result;
 }
 /**
  * Return URL without any added params.
  * Like Item::getUrl()
  * @return string
  */
 public function getParentUrl()
 {
     return parent::getUrl();
 }
 /**
  * Returns the URL with appended filter parameter but no value. Use this to
  * append the value ('min-max') in JavaScript.
  * @return string
  */
 public function getBaseUrl()
 {
     return parent::getUrl() . '&' . 'filter' . $this->getFieldName() . '=';
 }