1 | <?php |
||||
2 | |||||
3 | namespace Smindel\GIS\ORM; |
||||
4 | |||||
5 | use SilverStripe\SQLite\SQLite3SchemaManager; |
||||
0 ignored issues
–
show
|
|||||
6 | use SilverStripe\ORM\DB; |
||||
7 | use Smindel\GIS\GIS; |
||||
8 | |||||
9 | if (!class_exists(SQLite3SchemaManager::class)) return; |
||||
10 | |||||
11 | class SQLite3GISSchemaManager extends SQLite3SchemaManager |
||||
12 | { |
||||
13 | use GISSchemaManager; |
||||
14 | |||||
15 | protected static $is_initialised = false; |
||||
16 | |||||
17 | public function initialise() |
||||
18 | { |
||||
19 | if (!self::$is_initialised) { |
||||
20 | $connector = DB::get_connector()->getRawConnector(); |
||||
0 ignored issues
–
show
The method
getRawConnector() does not exist on SilverStripe\ORM\Connect\DBConnector .
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces. This is most likely a typographical error or the method has been renamed. ![]() |
|||||
21 | $connector->loadExtension('mod_spatialite.so'); |
||||
22 | $connector->exec("SELECT InitSpatialMetadata()"); |
||||
23 | self::$is_initialised = true; |
||||
24 | } |
||||
25 | } |
||||
26 | |||||
27 | public function geography($values) |
||||
28 | { |
||||
29 | // ATTENTION: GEOGRAPHY IS NOT SUPPORTED BY MYSQL. THIS IS STRICTLY FOR COMPATIBILITY |
||||
30 | return 'geometry'; |
||||
31 | } |
||||
32 | |||||
33 | public function translateStGeometryTypeFilter($field, $value, $inclusive) |
||||
34 | { |
||||
35 | $null = $inclusive ? '' : ' OR ' . DB::get_conn()->nullCheckClause($field, true); |
||||
36 | $fragment = sprintf( |
||||
37 | '%sLOWER(ST_GeometryType(%s)) = ?%s', |
||||
38 | $inclusive ? '' : 'NOT ', |
||||
39 | $field, |
||||
40 | $null |
||||
41 | ); |
||||
42 | return [$fragment => strtolower($value)]; |
||||
43 | } |
||||
44 | |||||
45 | public function translateBasicSelectGeo() |
||||
46 | { |
||||
47 | DB::get_schema()->initialise(); |
||||
0 ignored issues
–
show
The method
initialise() does not exist on SilverStripe\ORM\Connect\DBSchemaManager . It seems like you code against a sub-type of SilverStripe\ORM\Connect\DBSchemaManager such as Smindel\GIS\ORM\MySQLGISSchemaManager .
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||
48 | return 'CASE WHEN %s IS NULL THEN NULL ELSE \'SRID=\' || ST_SRID(%s) || \';\' || ST_AsText(%s) END AS "%s"'; |
||||
49 | } |
||||
50 | } |
||||
51 |
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"]
, you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths