|
|
@@ -329,7 +329,16 @@ class AntAclBase extends Core_AclBase {
|
|
|
|
|
|
|
|
|
public function isGeomField($fieldName) {
|
|
|
- return ('the_geom' === $fieldName); // TODO: check by xsdType
|
|
|
+ $xsdType = $this->getXsdFieldType($fieldName);
|
|
|
+ switch ($xsdType) {
|
|
|
+ case "gml:PolygonPropertyType":
|
|
|
+ case "gml:LineStringPropertyType":
|
|
|
+ case "gml:PointPropertyType":
|
|
|
+ case "p5Type:polygon":
|
|
|
+ case "p5Type:lineString":
|
|
|
+ case "p5Type:point": return true;
|
|
|
+ default: return false;
|
|
|
+ }
|
|
|
}
|
|
|
public function isEnumerationField($fieldName) {
|
|
|
$xsdType = $this->getXsdFieldType($fieldName);
|
|
|
@@ -428,7 +437,7 @@ class AntAclBase extends Core_AclBase {
|
|
|
}
|
|
|
|
|
|
public function hasFieldPerm($fieldID, $perm) { // TODO: legacy
|
|
|
- $field = $this->getField();
|
|
|
+ $field = $this->getField($fieldID);
|
|
|
if (!$field) return false;
|
|
|
try {
|
|
|
$fieldAclInfo = $this->getAclInfo($fieldName);
|