a.binder преди 9 години
родител
ревизия
f13adeb16d
променени са 2 файла, в които са добавени 8 реда и са изтрити 1 реда
  1. 2 1
      SE/se-lib/Core/Database/Mysql.php
  2. 6 0
      SE/se-lib/Core/Database/Pgsql.php

+ 2 - 1
SE/se-lib/Core/Database/Mysql.php

@@ -433,7 +433,7 @@ class Core_Database_Mysql extends Core_Database {
 	function MAKE_DB_OBJ($table,$obj,$dieonerror=null) {
 		$structure=self::describe_table_value($table); //todo to cache optimize
 		foreach(get_object_vars($obj) as $k=>$v) {
-			if(($structure[$k]->Type=='multipoint')||($structure[$k]->Type=='linestring')||($structure[$k]->Type=='polygon')||($structure[$k]->Type=='multipolygon')||($structure[$k]->Type=='multilinestring')) {
+			if(($structure[$k]->Type=='multipoint')||($structure[$k]->Type=='point')||($structure[$k]->Type=='linestring')||($structure[$k]->Type=='polygon')||($structure[$k]->Type=='multipolygon')||($structure[$k]->Type=='multilinestring')) {
 				if(empty($v)) {
 					unset($k);
 					unset($v);
@@ -1008,6 +1008,7 @@ class Core_Database_Mysql extends Core_Database {
 																	      			|| ( strstr($VAL->Type, 'decimal(42')  ) && strstr($ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, 'decimal(41'  )
 																	      			|| ( strstr($VAL->Type, 'decimal(43')  ) && strstr($ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, 'decimal(41'  )
 																	      			|| ( strstr($VAL->Type, 'multipoint')  ) && strstr($ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, 'multipoint'  )
+																	      			|| ( strstr($VAL->Type, 'point')  ) && strstr($ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, 'point'  )
 																		  			|| ( strstr($VAL->Type, 'date')  ) && strstr($ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, 'char' ) 
 																		  			|| ( strstr($VAL->Type, 'date')  ) && strstr('varchar',$ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type ) 
 																		  			|| ( strstr($VAL->Type, 'datetime')  ) && strstr($ARR_TABLE['FIELDS'][$INDEX_OF_CONFIG_TABLE]->Type, 'char' ) 

+ 6 - 0
SE/se-lib/Core/Database/Pgsql.php

@@ -377,6 +377,9 @@ FROM information_schema.triggers
 		} else  if(strstr($type, "multipoint'")) {
 			$sql="SELECT UpdateGeometrySRID('".$table."','".$column."',4326);";
 			self::query($sql) or die1($sql);
+		} else  if(strstr($type, "point'")) {
+			$sql="SELECT UpdateGeometrySRID('".$table."','".$column."',4326);";
+			self::query($sql) or die1($sql);
 		}
 		
 	}
@@ -481,6 +484,9 @@ FROM information_schema.triggers
 				if(empty($v)) $v='null';
 				else $v = "ST_GeomFromText('".$v."',4326)"; 
 			} else if(trim($structure[$k]->Type)=='multipolygon') {
+				if(empty($v)) $v='null';
+				else $v = "ST_GeomFromText('".$v."',4326)"; 
+			} else if(trim($structure[$k]->Type)=='point') {
 				if(empty($v)) $v='null';
 				else $v = "ST_GeomFromText('".$v."',4326)";
 			} else if(trim($structure[$k]->Type)=='datetime') {