/**
  * Get Spec object
  *
  * @return CMbFieldSpec
  */
 function getSpecObject()
 {
     CBoolSpec::$_default_no = false;
     $this->_spec_object = @CMbFieldSpecFact::getSpecWithClassName("CExObject", $this->name, $this->prop);
     CBoolSpec::$_default_no = true;
     return $this->_spec_object;
 }
Exemplo n.º 2
0
 /**
  * Turn rercursive plan to flat plan
  *
  * @param string[] $props Parameters
  *
  * @return array
  */
 function flatify($props)
 {
     if (!count($props)) {
         return array(array());
     }
     // Spec for only first item
     $spec = null;
     foreach ($props as $_param => $_prop) {
         $spec = CMbFieldSpecFact::getSpecWithClassName("stdClass", $_param, $_prop);
         break;
     }
     // Shift this item and recurse plan
     array_shift($props);
     $subplan = self::flatify($props);
     // Complete with own values
     $plan = array();
     foreach ($subplan as $_subparts) {
         foreach ($spec->regressionSamples() as $_sample) {
             $parts = $_subparts;
             $parts[$spec->fieldName] = $_sample;
             $plan[] = $parts;
         }
     }
     return $plan;
 }