Ejemplo n.º 1
0
 /**
  * A helper function used by castingHelperPair() to build the cache.
  * @param array
  */
 public function buildCastingHelperCache(&$cache)
 {
     $class = $this->class;
     $classes = ClassInfo::ancestry($class);
     foreach ($classes as $componentClass) {
         if ($componentClass == "ViewableData") {
             $isViewableData = true;
         }
         if ($componentClass == "DataObject") {
             $isDataObject = true;
         }
         if (isset($isDataObject) && $isDataObject) {
             $fields = eval("return {$componentClass}::\$db;");
             if ($fields) {
                 foreach ($fields as $fieldName => $fieldSchema) {
                     $cache[$fieldName] = ViewableData::castingObjectCreatorPair($fieldSchema);
                 }
             }
         }
         if (isset($isViewableData) && $isViewableData) {
             $fields = eval("return {$componentClass}::\$casting;");
             if ($fields) {
                 foreach ($fields as $fieldName => $fieldSchema) {
                     $cache[$fieldName] = ViewableData::castingObjectCreatorPair($fieldSchema);
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * A helper function used by castingHelperPair() to build the cache.
  * @param array
  */
 public function buildCastingHelperCache(&$cache)
 {
     $class = $this->class ? $this->class : get_class($this);
     $classes = ClassInfo::ancestry($class);
     foreach ($classes as $componentClass) {
         if ($componentClass == "ViewableData") {
             $isViewableData = true;
         }
         if ($componentClass == "DataObject") {
             $isDataObject = true;
         }
         if (isset($isDataObject) && $isDataObject) {
             $fields = Object::uninherited_static($componentClass, 'db');
             if ($fields) {
                 foreach ($fields as $fieldName => $fieldSchema) {
                     $cache[$fieldName] = ViewableData::castingObjectCreatorPair($fieldSchema);
                 }
             }
         }
         if (isset($isViewableData) && $isViewableData) {
             $fields = Object::uninherited_static($componentClass, 'casting');
             if ($fields) {
                 foreach ($fields as $fieldName => $fieldSchema) {
                     $cache[$fieldName] = ViewableData::castingObjectCreatorPair($fieldSchema);
                 }
             }
         }
     }
 }