/** * Returns unused fields that are available for use in either default or additional list views * @return array List of available fields as an array, where key = value = <field name> */ function getAvailableFields() { $availableFields = array(); // Select available fields from the field definitions - don't need to worry about checking if ok to include as the Implementation has done that already in its constructor foreach ($this->_fielddefs as $key => $def) { if ($this->isValidField($key, $def)) { $availableFields[$key] = self::_trimFieldDefs($this->_fielddefs[$key]); } } //$GLOBALS['log']->debug(get_class($this).'->getAvailableFields(): '.print_r($availableFields,true)); // now remove all fields that are already in the viewdef - they are not available; they are in use return ListLayoutMetaDataParser::getArrayDiff($availableFields, $this->_viewdefs); }