/** * Return value from somewhere inside the loaded flexForm structure * * @param mixed $flexForm, (optional) a flexForm array or a key array that contains a flexform * @param string $fieldName, Field name to extract. Can be given like "test/el/2/test/el/field_templateObject" where each part will dig a level deeper in the FlexForm data. * @param string $sheet Sheet pointer, eg. "sDEF" * @param string $lang Language pointer, eg. "lDEF" * @param string $value Value pointer, eg. "vDEF" * @return array The content. */ function get() { //true when the first arguement is a flexForm or a reference to flexForm if (is_array(func_get_arg(0)) || array_key_exists(func_get_arg(0), tx_div2007_ff::$flexForms)) { //case 1, $args 1 is an array... case 2, $args 1 is a key array that contains a flexform is_array(func_get_arg(0)) ? $_flexForm = func_get_arg(0) : ($_flexForm =& tx_div2007_ff::getFlexForm(func_get_arg(0))); $index = 1; } else { $_flexForm =& self::$flexForm; $index = 0; } $fieldName = func_get_arg($index); @func_get_arg($index + 1) ? $sheet = func_get_arg($index + 1) : ($sheet = 'sDEF'); @func_get_arg($index + 2) ? $lang = func_get_arg($index + 2) : ($lang = 'lDEF'); @func_get_arg($index + 3) ? $value = func_get_arg($index + 3) : ($value = 'vDEF'); is_array($_flexForm) ? $sheetArray = $_flexForm['data'][$sheet][$lang] : ($sheetArray = ''); $result = null; if (is_array($sheetArray)) { $result = self::_getFFValueFromSheetArray($sheetArray, explode('/', $fieldName), $value); } return $result; }