Index: branches/RC/core/units/configuration/configuration_tag_processor.php =================================================================== diff -u -r10718 -r11538 --- branches/RC/core/units/configuration/configuration_tag_processor.php (.../configuration_tag_processor.php) (revision 10718) +++ branches/RC/core/units/configuration/configuration_tag_processor.php (.../configuration_tag_processor.php) (revision 11538) @@ -203,12 +203,30 @@ return $cached_ids[$var_name]; } - - function IsWritablePath($params) + + function GetVariableSection($params) { - return is_writable($this->ConfigValue($params)); + static $cached_sections = Array (); + + $var_name = $params['name']; + if (!isset($cached_sections[$var_name])) { + $id_field = $this->Application->getUnitOption($this->Prefix, 'IDField'); + $table_name = $this->Application->getUnitOption($this->Prefix, 'TableName'); + + $sql = 'SELECT Section + FROM '.$table_name.' + WHERE VariableName = '.$this->Conn->qstr($params['name']); + $cached_sections[$var_name] = $this->Conn->GetOne($sql); + } + + return $cached_sections[$var_name]; } - + + function IsWritablePath($params) + { + return is_writable($this->ConfigValue($params)); + } + } ?> \ No newline at end of file