Completed
Push — master ( 73f088...7f17b6 )
by Yannick
07:13
created
require/libs/geoPHP/lib/adapters/WKB.class.php 4 patches
Doc Comments   +12 added lines patch added patch discarded remove patch
@@ -123,6 +123,9 @@  discard block
 block discarded – undo
123 123
     return new Polygon($components);
124 124
   }
125 125
 
126
+  /**
127
+   * @param string $type
128
+   */
126 129
   function getMulti(&$mem, $type) {
127 130
     // Get the number of items expected in this multi out of the first 4 bytes
128 131
     $multi_length = unpack('L',fread($mem,4));
@@ -196,6 +199,9 @@  discard block
 block discarded – undo
196 199
     }
197 200
   }
198 201
 
202
+  /**
203
+   * @param Geometry $point
204
+   */
199 205
   function writePoint($point) {
200 206
     // Set the coords
201 207
     $wkb = pack('dd',$point->x(), $point->y());
@@ -215,6 +221,9 @@  discard block
 block discarded – undo
215 221
     return $wkb;
216 222
   }
217 223
 
224
+  /**
225
+   * @param Geometry $poly
226
+   */
218 227
   function writePolygon($poly) {
219 228
     // Set the number of lines in this poly
220 229
     $wkb = pack('L',$poly->numGeometries());
@@ -227,6 +236,9 @@  discard block
 block discarded – undo
227 236
     return $wkb;
228 237
   }
229 238
 
239
+  /**
240
+   * @param Geometry $geometry
241
+   */
230 242
   function writeMulti($geometry) {
231 243
     // Set the number of components
232 244
     $wkb = pack('L',$geometry->numGeometries());
Please login to merge, or discard this patch.
Indentation   +161 added lines, -161 removed lines patch added patch discarded remove patch
@@ -29,120 +29,120 @@  discard block
 block discarded – undo
29 29
    * @return Geometry
30 30
    */
31 31
   public function read($wkb, $is_hex_string = FALSE) {
32
-    if ($is_hex_string) {
33
-      $wkb = pack('H*',$wkb);
34
-    }
32
+	if ($is_hex_string) {
33
+	  $wkb = pack('H*',$wkb);
34
+	}
35 35
 
36
-    if (empty($wkb)) {
37
-      throw new Exception('Cannot read empty WKB geometry. Found ' . gettype($wkb));
38
-    }
36
+	if (empty($wkb)) {
37
+	  throw new Exception('Cannot read empty WKB geometry. Found ' . gettype($wkb));
38
+	}
39 39
 
40
-    $mem = fopen('php://memory', 'r+');
41
-    fwrite($mem, $wkb);
42
-    fseek($mem, 0);
40
+	$mem = fopen('php://memory', 'r+');
41
+	fwrite($mem, $wkb);
42
+	fseek($mem, 0);
43 43
 
44
-    $geometry = $this->getGeometry($mem);
45
-    fclose($mem);
46
-    return $geometry;
44
+	$geometry = $this->getGeometry($mem);
45
+	fclose($mem);
46
+	return $geometry;
47 47
   }
48 48
 
49 49
   function getGeometry(&$mem) {
50
-    $base_info = unpack("corder/ctype/cz/cm/cs", fread($mem, 5));
51
-    if ($base_info['order'] !== 1) {
52
-      throw new Exception('Only NDR (little endian) SKB format is supported at the moment');
53
-    }
54
-
55
-    if ($base_info['z']) {
56
-      $this->dimension++;
57
-      $this->z = TRUE;
58
-    }
59
-    if ($base_info['m']) {
60
-      $this->dimension++;
61
-      $this->m = TRUE;
62
-    }
63
-
64
-    // If there is SRID information, ignore it - use EWKB Adapter to get SRID support
65
-    if ($base_info['s']) {
66
-      fread($mem, 4);
67
-    }
68
-
69
-    switch ($base_info['type']) {
70
-      case 1:
71
-        return $this->getPoint($mem);
72
-      case 2:
73
-        return $this->getLinstring($mem);
74
-      case 3:
75
-        return $this->getPolygon($mem);
76
-      case 4:
77
-        return $this->getMulti($mem,'point');
78
-      case 5:
79
-        return $this->getMulti($mem,'line');
80
-      case 6:
81
-        return $this->getMulti($mem,'polygon');
82
-      case 7:
83
-        return $this->getMulti($mem,'geometry');
84
-    }
50
+	$base_info = unpack("corder/ctype/cz/cm/cs", fread($mem, 5));
51
+	if ($base_info['order'] !== 1) {
52
+	  throw new Exception('Only NDR (little endian) SKB format is supported at the moment');
53
+	}
54
+
55
+	if ($base_info['z']) {
56
+	  $this->dimension++;
57
+	  $this->z = TRUE;
58
+	}
59
+	if ($base_info['m']) {
60
+	  $this->dimension++;
61
+	  $this->m = TRUE;
62
+	}
63
+
64
+	// If there is SRID information, ignore it - use EWKB Adapter to get SRID support
65
+	if ($base_info['s']) {
66
+	  fread($mem, 4);
67
+	}
68
+
69
+	switch ($base_info['type']) {
70
+	  case 1:
71
+		return $this->getPoint($mem);
72
+	  case 2:
73
+		return $this->getLinstring($mem);
74
+	  case 3:
75
+		return $this->getPolygon($mem);
76
+	  case 4:
77
+		return $this->getMulti($mem,'point');
78
+	  case 5:
79
+		return $this->getMulti($mem,'line');
80
+	  case 6:
81
+		return $this->getMulti($mem,'polygon');
82
+	  case 7:
83
+		return $this->getMulti($mem,'geometry');
84
+	}
85 85
   }
86 86
 
87 87
   function getPoint(&$mem) {
88
-    $point_coords = unpack("d*", fread($mem,$this->dimension*8));
89
-    return new Point($point_coords[1],$point_coords[2]);
88
+	$point_coords = unpack("d*", fread($mem,$this->dimension*8));
89
+	return new Point($point_coords[1],$point_coords[2]);
90 90
   }
91 91
 
92 92
   function getLinstring(&$mem) {
93
-    // Get the number of points expected in this string out of the first 4 bytes
94
-    $line_length = unpack('L',fread($mem,4));
95
-
96
-    // Return an empty linestring if there is no line-length
97
-    if (!$line_length[1]) return new LineString();
98
-
99
-    // Read the nubmer of points x2 (each point is two coords) into decimal-floats
100
-    $line_coords = unpack('d*', fread($mem,$line_length[1]*$this->dimension*8));
101
-
102
-    // We have our coords, build up the linestring
103
-    $components = array();
104
-    $i = 1;
105
-    $num_coords = count($line_coords);
106
-    while ($i <= $num_coords) {
107
-      $components[] = new Point($line_coords[$i],$line_coords[$i+1]);
108
-      $i += 2;
109
-    }
110
-    return new LineString($components);
93
+	// Get the number of points expected in this string out of the first 4 bytes
94
+	$line_length = unpack('L',fread($mem,4));
95
+
96
+	// Return an empty linestring if there is no line-length
97
+	if (!$line_length[1]) return new LineString();
98
+
99
+	// Read the nubmer of points x2 (each point is two coords) into decimal-floats
100
+	$line_coords = unpack('d*', fread($mem,$line_length[1]*$this->dimension*8));
101
+
102
+	// We have our coords, build up the linestring
103
+	$components = array();
104
+	$i = 1;
105
+	$num_coords = count($line_coords);
106
+	while ($i <= $num_coords) {
107
+	  $components[] = new Point($line_coords[$i],$line_coords[$i+1]);
108
+	  $i += 2;
109
+	}
110
+	return new LineString($components);
111 111
   }
112 112
 
113 113
   function getPolygon(&$mem) {
114
-    // Get the number of linestring expected in this poly out of the first 4 bytes
115
-    $poly_length = unpack('L',fread($mem,4));
116
-
117
-    $components = array();
118
-    $i = 1;
119
-    while ($i <= $poly_length[1]) {
120
-      $components[] = $this->getLinstring($mem);
121
-      $i++;
122
-    }
123
-    return new Polygon($components);
114
+	// Get the number of linestring expected in this poly out of the first 4 bytes
115
+	$poly_length = unpack('L',fread($mem,4));
116
+
117
+	$components = array();
118
+	$i = 1;
119
+	while ($i <= $poly_length[1]) {
120
+	  $components[] = $this->getLinstring($mem);
121
+	  $i++;
122
+	}
123
+	return new Polygon($components);
124 124
   }
125 125
 
126 126
   function getMulti(&$mem, $type) {
127
-    // Get the number of items expected in this multi out of the first 4 bytes
128
-    $multi_length = unpack('L',fread($mem,4));
129
-
130
-    $components = array();
131
-    $i = 1;
132
-    while ($i <= $multi_length[1]) {
133
-      $components[] = $this->getGeometry($mem);
134
-      $i++;
135
-    }
136
-    switch ($type) {
137
-      case 'point':
138
-        return new MultiPoint($components);
139
-      case 'line':
140
-        return new MultiLineString($components);
141
-      case 'polygon':
142
-        return new MultiPolygon($components);
143
-      case 'geometry':
144
-        return new GeometryCollection($components);
145
-    }
127
+	// Get the number of items expected in this multi out of the first 4 bytes
128
+	$multi_length = unpack('L',fread($mem,4));
129
+
130
+	$components = array();
131
+	$i = 1;
132
+	while ($i <= $multi_length[1]) {
133
+	  $components[] = $this->getGeometry($mem);
134
+	  $i++;
135
+	}
136
+	switch ($type) {
137
+	  case 'point':
138
+		return new MultiPoint($components);
139
+	  case 'line':
140
+		return new MultiLineString($components);
141
+	  case 'polygon':
142
+		return new MultiPolygon($components);
143
+	  case 'geometry':
144
+		return new GeometryCollection($components);
145
+	}
146 146
   }
147 147
 
148 148
   /**
@@ -153,90 +153,90 @@  discard block
 block discarded – undo
153 153
    * @return string The WKB string representation of the input geometries
154 154
    */
155 155
   public function write(Geometry $geometry, $write_as_hex = FALSE) {
156
-    // We always write into NDR (little endian)
157
-    $wkb = pack('c',1);
158
-
159
-    switch ($geometry->getGeomType()) {
160
-      case 'Point';
161
-        $wkb .= pack('L',1);
162
-        $wkb .= $this->writePoint($geometry);
163
-        break;
164
-      case 'LineString';
165
-        $wkb .= pack('L',2);
166
-        $wkb .= $this->writeLineString($geometry);
167
-        break;
168
-      case 'Polygon';
169
-        $wkb .= pack('L',3);
170
-        $wkb .= $this->writePolygon($geometry);
171
-        break;
172
-      case 'MultiPoint';
173
-        $wkb .= pack('L',4);
174
-        $wkb .= $this->writeMulti($geometry);
175
-        break;
176
-      case 'MultiLineString';
177
-        $wkb .= pack('L',5);
178
-        $wkb .= $this->writeMulti($geometry);
179
-        break;
180
-      case 'MultiPolygon';
181
-        $wkb .= pack('L',6);
182
-        $wkb .= $this->writeMulti($geometry);
183
-        break;
184
-      case 'GeometryCollection';
185
-        $wkb .= pack('L',7);
186
-        $wkb .= $this->writeMulti($geometry);
187
-        break;
188
-    }
189
-
190
-    if ($write_as_hex) {
191
-      $unpacked = unpack('H*',$wkb);
192
-      return $unpacked[1];
193
-    }
194
-    else {
195
-      return $wkb;
196
-    }
156
+	// We always write into NDR (little endian)
157
+	$wkb = pack('c',1);
158
+
159
+	switch ($geometry->getGeomType()) {
160
+	  case 'Point';
161
+		$wkb .= pack('L',1);
162
+		$wkb .= $this->writePoint($geometry);
163
+		break;
164
+	  case 'LineString';
165
+		$wkb .= pack('L',2);
166
+		$wkb .= $this->writeLineString($geometry);
167
+		break;
168
+	  case 'Polygon';
169
+		$wkb .= pack('L',3);
170
+		$wkb .= $this->writePolygon($geometry);
171
+		break;
172
+	  case 'MultiPoint';
173
+		$wkb .= pack('L',4);
174
+		$wkb .= $this->writeMulti($geometry);
175
+		break;
176
+	  case 'MultiLineString';
177
+		$wkb .= pack('L',5);
178
+		$wkb .= $this->writeMulti($geometry);
179
+		break;
180
+	  case 'MultiPolygon';
181
+		$wkb .= pack('L',6);
182
+		$wkb .= $this->writeMulti($geometry);
183
+		break;
184
+	  case 'GeometryCollection';
185
+		$wkb .= pack('L',7);
186
+		$wkb .= $this->writeMulti($geometry);
187
+		break;
188
+	}
189
+
190
+	if ($write_as_hex) {
191
+	  $unpacked = unpack('H*',$wkb);
192
+	  return $unpacked[1];
193
+	}
194
+	else {
195
+	  return $wkb;
196
+	}
197 197
   }
198 198
 
199 199
   function writePoint($point) {
200
-    // Set the coords
201
-    $wkb = pack('dd',$point->x(), $point->y());
200
+	// Set the coords
201
+	$wkb = pack('dd',$point->x(), $point->y());
202 202
 
203
-    return $wkb;
203
+	return $wkb;
204 204
   }
205 205
 
206 206
   function writeLineString($line) {
207
-    // Set the number of points in this line
208
-    $wkb = pack('L',$line->numPoints());
207
+	// Set the number of points in this line
208
+	$wkb = pack('L',$line->numPoints());
209 209
 
210
-    // Set the coords
211
-    foreach ($line->getComponents() as $point) {
212
-      $wkb .= pack('dd',$point->x(), $point->y());
213
-    }
210
+	// Set the coords
211
+	foreach ($line->getComponents() as $point) {
212
+	  $wkb .= pack('dd',$point->x(), $point->y());
213
+	}
214 214
 
215
-    return $wkb;
215
+	return $wkb;
216 216
   }
217 217
 
218 218
   function writePolygon($poly) {
219
-    // Set the number of lines in this poly
220
-    $wkb = pack('L',$poly->numGeometries());
219
+	// Set the number of lines in this poly
220
+	$wkb = pack('L',$poly->numGeometries());
221 221
 
222
-    // Write the lines
223
-    foreach ($poly->getComponents() as $line) {
224
-      $wkb .= $this->writeLineString($line);
225
-    }
222
+	// Write the lines
223
+	foreach ($poly->getComponents() as $line) {
224
+	  $wkb .= $this->writeLineString($line);
225
+	}
226 226
 
227
-    return $wkb;
227
+	return $wkb;
228 228
   }
229 229
 
230 230
   function writeMulti($geometry) {
231
-    // Set the number of components
232
-    $wkb = pack('L',$geometry->numGeometries());
231
+	// Set the number of components
232
+	$wkb = pack('L',$geometry->numGeometries());
233 233
 
234
-    // Write the components
235
-    foreach ($geometry->getComponents() as $component) {
236
-      $wkb .= $this->write($component);
237
-    }
234
+	// Write the components
235
+	foreach ($geometry->getComponents() as $component) {
236
+	  $wkb .= $this->write($component);
237
+	}
238 238
 
239
-    return $wkb;
239
+	return $wkb;
240 240
   }
241 241
 
242 242
 }
Please login to merge, or discard this patch.
Spacing   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -30,11 +30,11 @@  discard block
 block discarded – undo
30 30
    */
31 31
   public function read($wkb, $is_hex_string = FALSE) {
32 32
     if ($is_hex_string) {
33
-      $wkb = pack('H*',$wkb);
33
+      $wkb = pack('H*', $wkb);
34 34
     }
35 35
 
36 36
     if (empty($wkb)) {
37
-      throw new Exception('Cannot read empty WKB geometry. Found ' . gettype($wkb));
37
+      throw new Exception('Cannot read empty WKB geometry. Found '.gettype($wkb));
38 38
     }
39 39
 
40 40
     $mem = fopen('php://memory', 'r+');
@@ -74,37 +74,37 @@  discard block
 block discarded – undo
74 74
       case 3:
75 75
         return $this->getPolygon($mem);
76 76
       case 4:
77
-        return $this->getMulti($mem,'point');
77
+        return $this->getMulti($mem, 'point');
78 78
       case 5:
79
-        return $this->getMulti($mem,'line');
79
+        return $this->getMulti($mem, 'line');
80 80
       case 6:
81
-        return $this->getMulti($mem,'polygon');
81
+        return $this->getMulti($mem, 'polygon');
82 82
       case 7:
83
-        return $this->getMulti($mem,'geometry');
83
+        return $this->getMulti($mem, 'geometry');
84 84
     }
85 85
   }
86 86
 
87 87
   function getPoint(&$mem) {
88
-    $point_coords = unpack("d*", fread($mem,$this->dimension*8));
89
-    return new Point($point_coords[1],$point_coords[2]);
88
+    $point_coords = unpack("d*", fread($mem, $this->dimension*8));
89
+    return new Point($point_coords[1], $point_coords[2]);
90 90
   }
91 91
 
92 92
   function getLinstring(&$mem) {
93 93
     // Get the number of points expected in this string out of the first 4 bytes
94
-    $line_length = unpack('L',fread($mem,4));
94
+    $line_length = unpack('L', fread($mem, 4));
95 95
 
96 96
     // Return an empty linestring if there is no line-length
97 97
     if (!$line_length[1]) return new LineString();
98 98
 
99 99
     // Read the nubmer of points x2 (each point is two coords) into decimal-floats
100
-    $line_coords = unpack('d*', fread($mem,$line_length[1]*$this->dimension*8));
100
+    $line_coords = unpack('d*', fread($mem, $line_length[1]*$this->dimension*8));
101 101
 
102 102
     // We have our coords, build up the linestring
103 103
     $components = array();
104 104
     $i = 1;
105 105
     $num_coords = count($line_coords);
106 106
     while ($i <= $num_coords) {
107
-      $components[] = new Point($line_coords[$i],$line_coords[$i+1]);
107
+      $components[] = new Point($line_coords[$i], $line_coords[$i + 1]);
108 108
       $i += 2;
109 109
     }
110 110
     return new LineString($components);
@@ -112,7 +112,7 @@  discard block
 block discarded – undo
112 112
 
113 113
   function getPolygon(&$mem) {
114 114
     // Get the number of linestring expected in this poly out of the first 4 bytes
115
-    $poly_length = unpack('L',fread($mem,4));
115
+    $poly_length = unpack('L', fread($mem, 4));
116 116
 
117 117
     $components = array();
118 118
     $i = 1;
@@ -125,7 +125,7 @@  discard block
 block discarded – undo
125 125
 
126 126
   function getMulti(&$mem, $type) {
127 127
     // Get the number of items expected in this multi out of the first 4 bytes
128
-    $multi_length = unpack('L',fread($mem,4));
128
+    $multi_length = unpack('L', fread($mem, 4));
129 129
 
130 130
     $components = array();
131 131
     $i = 1;
@@ -154,41 +154,41 @@  discard block
 block discarded – undo
154 154
    */
155 155
   public function write(Geometry $geometry, $write_as_hex = FALSE) {
156 156
     // We always write into NDR (little endian)
157
-    $wkb = pack('c',1);
157
+    $wkb = pack('c', 1);
158 158
 
159 159
     switch ($geometry->getGeomType()) {
160 160
       case 'Point';
161
-        $wkb .= pack('L',1);
161
+        $wkb .= pack('L', 1);
162 162
         $wkb .= $this->writePoint($geometry);
163 163
         break;
164 164
       case 'LineString';
165
-        $wkb .= pack('L',2);
165
+        $wkb .= pack('L', 2);
166 166
         $wkb .= $this->writeLineString($geometry);
167 167
         break;
168 168
       case 'Polygon';
169
-        $wkb .= pack('L',3);
169
+        $wkb .= pack('L', 3);
170 170
         $wkb .= $this->writePolygon($geometry);
171 171
         break;
172 172
       case 'MultiPoint';
173
-        $wkb .= pack('L',4);
173
+        $wkb .= pack('L', 4);
174 174
         $wkb .= $this->writeMulti($geometry);
175 175
         break;
176 176
       case 'MultiLineString';
177
-        $wkb .= pack('L',5);
177
+        $wkb .= pack('L', 5);
178 178
         $wkb .= $this->writeMulti($geometry);
179 179
         break;
180 180
       case 'MultiPolygon';
181
-        $wkb .= pack('L',6);
181
+        $wkb .= pack('L', 6);
182 182
         $wkb .= $this->writeMulti($geometry);
183 183
         break;
184 184
       case 'GeometryCollection';
185
-        $wkb .= pack('L',7);
185
+        $wkb .= pack('L', 7);
186 186
         $wkb .= $this->writeMulti($geometry);
187 187
         break;
188 188
     }
189 189
 
190 190
     if ($write_as_hex) {
191
-      $unpacked = unpack('H*',$wkb);
191
+      $unpacked = unpack('H*', $wkb);
192 192
       return $unpacked[1];
193 193
     }
194 194
     else {
@@ -198,18 +198,18 @@  discard block
 block discarded – undo
198 198
 
199 199
   function writePoint($point) {
200 200
     // Set the coords
201
-    $wkb = pack('dd',$point->x(), $point->y());
201
+    $wkb = pack('dd', $point->x(), $point->y());
202 202
 
203 203
     return $wkb;
204 204
   }
205 205
 
206 206
   function writeLineString($line) {
207 207
     // Set the number of points in this line
208
-    $wkb = pack('L',$line->numPoints());
208
+    $wkb = pack('L', $line->numPoints());
209 209
 
210 210
     // Set the coords
211 211
     foreach ($line->getComponents() as $point) {
212
-      $wkb .= pack('dd',$point->x(), $point->y());
212
+      $wkb .= pack('dd', $point->x(), $point->y());
213 213
     }
214 214
 
215 215
     return $wkb;
@@ -217,7 +217,7 @@  discard block
 block discarded – undo
217 217
 
218 218
   function writePolygon($poly) {
219 219
     // Set the number of lines in this poly
220
-    $wkb = pack('L',$poly->numGeometries());
220
+    $wkb = pack('L', $poly->numGeometries());
221 221
 
222 222
     // Write the lines
223 223
     foreach ($poly->getComponents() as $line) {
@@ -229,7 +229,7 @@  discard block
 block discarded – undo
229 229
 
230 230
   function writeMulti($geometry) {
231 231
     // Set the number of components
232
-    $wkb = pack('L',$geometry->numGeometries());
232
+    $wkb = pack('L', $geometry->numGeometries());
233 233
 
234 234
     // Write the components
235 235
     foreach ($geometry->getComponents() as $component) {
Please login to merge, or discard this patch.
Braces   +4 added lines, -3 removed lines patch added patch discarded remove patch
@@ -94,7 +94,9 @@  discard block
 block discarded – undo
94 94
     $line_length = unpack('L',fread($mem,4));
95 95
 
96 96
     // Return an empty linestring if there is no line-length
97
-    if (!$line_length[1]) return new LineString();
97
+    if (!$line_length[1]) {
98
+    	return new LineString();
99
+    }
98 100
 
99 101
     // Read the nubmer of points x2 (each point is two coords) into decimal-floats
100 102
     $line_coords = unpack('d*', fread($mem,$line_length[1]*$this->dimension*8));
@@ -190,8 +192,7 @@  discard block
 block discarded – undo
190 192
     if ($write_as_hex) {
191 193
       $unpacked = unpack('H*',$wkb);
192 194
       return $unpacked[1];
193
-    }
194
-    else {
195
+    } else {
195 196
       return $wkb;
196 197
     }
197 198
   }
Please login to merge, or discard this patch.
require/libs/geoPHP/lib/adapters/WKT.class.php 4 patches
Doc Comments   +6 added lines, -1 removed lines patch added patch discarded remove patch
@@ -8,7 +8,6 @@  discard block
 block discarded – undo
8 8
   /**
9 9
    * Read WKT string into geometry objects
10 10
    *
11
-   * @param string $WKT A WKT string
12 11
    *
13 12
    * @return Geometry
14 13
    */
@@ -184,11 +183,17 @@  discard block
 block discarded – undo
184 183
     else return $str;
185 184
   }
186 185
   
186
+  /**
187
+   * @param string $char
188
+   */
187 189
   protected function beginsWith($str, $char) {
188 190
     if (substr($str,0,strlen($char)) == $char) return TRUE;
189 191
     else return FALSE;
190 192
   }
191 193
 
194
+  /**
195
+   * @param string $char
196
+   */
192 197
   protected function endsWith($str, $char) {
193 198
     if (substr($str,(0 - strlen($char))) == $char) return TRUE;
194 199
     else return FALSE;
Please login to merge, or discard this patch.
Indentation   +158 added lines, -158 removed lines patch added patch discarded remove patch
@@ -13,185 +13,185 @@  discard block
 block discarded – undo
13 13
    * @return Geometry
14 14
    */
15 15
   public function read($wkt) {
16
-    $wkt = trim($wkt);
16
+	$wkt = trim($wkt);
17 17
     
18
-    // If it contains a ';', then it contains additional SRID data
19
-    if (strpos($wkt,';')) {
20
-      $parts = explode(';', $wkt);
21
-      $wkt = $parts[1];
22
-      $eparts = explode('=',$parts[0]);
23
-      $srid = $eparts[1];
24
-    }
25
-    else {
26
-      $srid = NULL;
27
-    }
18
+	// If it contains a ';', then it contains additional SRID data
19
+	if (strpos($wkt,';')) {
20
+	  $parts = explode(';', $wkt);
21
+	  $wkt = $parts[1];
22
+	  $eparts = explode('=',$parts[0]);
23
+	  $srid = $eparts[1];
24
+	}
25
+	else {
26
+	  $srid = NULL;
27
+	}
28 28
     
29
-    // If geos is installed, then we take a shortcut and let it parse the WKT
30
-    if (geoPHP::geosInstalled()) {
31
-      $reader = new GEOSWKTReader();
32
-      if ($srid) {
33
-        $geom = geoPHP::geosToGeometry($reader->read($wkt));
34
-        $geom->setSRID($srid);
35
-        return $geom;
36
-      }
37
-      else { 
38
-        return geoPHP::geosToGeometry($reader->read($wkt));
39
-      }
40
-    }
41
-    $wkt = str_replace(', ', ',', $wkt);
29
+	// If geos is installed, then we take a shortcut and let it parse the WKT
30
+	if (geoPHP::geosInstalled()) {
31
+	  $reader = new GEOSWKTReader();
32
+	  if ($srid) {
33
+		$geom = geoPHP::geosToGeometry($reader->read($wkt));
34
+		$geom->setSRID($srid);
35
+		return $geom;
36
+	  }
37
+	  else { 
38
+		return geoPHP::geosToGeometry($reader->read($wkt));
39
+	  }
40
+	}
41
+	$wkt = str_replace(', ', ',', $wkt);
42 42
     
43
-    // For each geometry type, check to see if we have a match at the
44
-    // beggining of the string. If we do, then parse using that type
45
-    foreach (geoPHP::geometryList() as $geom_type) {
46
-      $wkt_geom = strtoupper($geom_type);
47
-      if (strtoupper(substr($wkt, 0, strlen($wkt_geom))) == $wkt_geom) {
48
-        $data_string = $this->getDataString($wkt);
49
-        $method = 'parse'.$geom_type;
43
+	// For each geometry type, check to see if we have a match at the
44
+	// beggining of the string. If we do, then parse using that type
45
+	foreach (geoPHP::geometryList() as $geom_type) {
46
+	  $wkt_geom = strtoupper($geom_type);
47
+	  if (strtoupper(substr($wkt, 0, strlen($wkt_geom))) == $wkt_geom) {
48
+		$data_string = $this->getDataString($wkt);
49
+		$method = 'parse'.$geom_type;
50 50
         
51
-        if ($srid) {
52
-          $geom = $this->$method($data_string);
53
-          $geom->setSRID($srid);
54
-          return $geom;
55
-        }
56
-        else { 
57
-          return $this->$method($data_string);
58
-        }
51
+		if ($srid) {
52
+		  $geom = $this->$method($data_string);
53
+		  $geom->setSRID($srid);
54
+		  return $geom;
55
+		}
56
+		else { 
57
+		  return $this->$method($data_string);
58
+		}
59 59
         
60
-      }
61
-    }
60
+	  }
61
+	}
62 62
   }
63 63
   
64 64
   private function parsePoint($data_string) {
65
-    $data_string = $this->trimParens($data_string);
66
-    $parts = explode(' ',$data_string);
67
-    return new Point($parts[0], $parts[1]);
65
+	$data_string = $this->trimParens($data_string);
66
+	$parts = explode(' ',$data_string);
67
+	return new Point($parts[0], $parts[1]);
68 68
   }
69 69
 
70 70
   private function parseLineString($data_string) {
71
-    $data_string = $this->trimParens($data_string);
71
+	$data_string = $this->trimParens($data_string);
72 72
 
73
-    // If it's marked as empty, then return an empty line
74
-    if ($data_string == 'EMPTY') return new LineString();
73
+	// If it's marked as empty, then return an empty line
74
+	if ($data_string == 'EMPTY') return new LineString();
75 75
     
76
-    $parts = explode(',',$data_string);
77
-    $points = array();
78
-    foreach ($parts as $part) {
79
-      $points[] = $this->parsePoint($part);
80
-    }
81
-    return new LineString($points);
76
+	$parts = explode(',',$data_string);
77
+	$points = array();
78
+	foreach ($parts as $part) {
79
+	  $points[] = $this->parsePoint($part);
80
+	}
81
+	return new LineString($points);
82 82
   }
83 83
 
84 84
   private function parsePolygon($data_string) {
85
-    $data_string = $this->trimParens($data_string);
85
+	$data_string = $this->trimParens($data_string);
86 86
     
87
-    // If it's marked as empty, then return an empty polygon
88
-    if ($data_string == 'EMPTY') return new Polygon();
87
+	// If it's marked as empty, then return an empty polygon
88
+	if ($data_string == 'EMPTY') return new Polygon();
89 89
     
90
-    $parts = explode('),(',$data_string);
91
-    $lines = array();
92
-    foreach ($parts as $part) {
93
-      if (!$this->beginsWith($part,'(')) $part = '(' . $part;
94
-      if (!$this->endsWith($part,')'))   $part = $part . ')';
95
-      $lines[] = $this->parseLineString($part);
96
-    }
97
-    return new Polygon($lines);
90
+	$parts = explode('),(',$data_string);
91
+	$lines = array();
92
+	foreach ($parts as $part) {
93
+	  if (!$this->beginsWith($part,'(')) $part = '(' . $part;
94
+	  if (!$this->endsWith($part,')'))   $part = $part . ')';
95
+	  $lines[] = $this->parseLineString($part);
96
+	}
97
+	return new Polygon($lines);
98 98
   }
99 99
 
100 100
   private function parseMultiPoint($data_string) {
101
-    $data_string = $this->trimParens($data_string);
101
+	$data_string = $this->trimParens($data_string);
102 102
     
103
-    // If it's marked as empty, then return an empty MutiPoint
104
-    if ($data_string == 'EMPTY') return new MultiPoint();
103
+	// If it's marked as empty, then return an empty MutiPoint
104
+	if ($data_string == 'EMPTY') return new MultiPoint();
105 105
     
106
-    $parts = explode(',',$data_string);
107
-    $points = array();
108
-    foreach ($parts as $part) {
109
-      $points[] = $this->parsePoint($part);
110
-    }
111
-    return new MultiPoint($points);
106
+	$parts = explode(',',$data_string);
107
+	$points = array();
108
+	foreach ($parts as $part) {
109
+	  $points[] = $this->parsePoint($part);
110
+	}
111
+	return new MultiPoint($points);
112 112
   }
113 113
   
114 114
   private function parseMultiLineString($data_string) {
115
-    $data_string = $this->trimParens($data_string);
115
+	$data_string = $this->trimParens($data_string);
116 116
 
117
-    // If it's marked as empty, then return an empty multi-linestring
118
-    if ($data_string == 'EMPTY') return new MultiLineString();
117
+	// If it's marked as empty, then return an empty multi-linestring
118
+	if ($data_string == 'EMPTY') return new MultiLineString();
119 119
     
120
-    $parts = explode('),(',$data_string);
121
-    $lines = array();
122
-    foreach ($parts as $part) {
123
-      // Repair the string if the explode broke it
124
-      if (!$this->beginsWith($part,'(')) $part = '(' . $part;
125
-      if (!$this->endsWith($part,')'))   $part = $part . ')';
126
-      $lines[] = $this->parseLineString($part);
127
-    }
128
-    return new MultiLineString($lines);
120
+	$parts = explode('),(',$data_string);
121
+	$lines = array();
122
+	foreach ($parts as $part) {
123
+	  // Repair the string if the explode broke it
124
+	  if (!$this->beginsWith($part,'(')) $part = '(' . $part;
125
+	  if (!$this->endsWith($part,')'))   $part = $part . ')';
126
+	  $lines[] = $this->parseLineString($part);
127
+	}
128
+	return new MultiLineString($lines);
129 129
   }
130 130
 
131 131
   private function parseMultiPolygon($data_string) {
132
-    $data_string = $this->trimParens($data_string);
132
+	$data_string = $this->trimParens($data_string);
133 133
 
134
-    // If it's marked as empty, then return an empty multi-polygon
135
-    if ($data_string == 'EMPTY') return new MultiPolygon();
134
+	// If it's marked as empty, then return an empty multi-polygon
135
+	if ($data_string == 'EMPTY') return new MultiPolygon();
136 136
     
137
-    $parts = explode(')),((',$data_string);
138
-    $polys = array();
139
-    foreach ($parts as $part) {
140
-      // Repair the string if the explode broke it
141
-      if (!$this->beginsWith($part,'((')) $part = '((' . $part;
142
-      if (!$this->endsWith($part,'))'))   $part = $part . '))';
143
-      $polys[] = $this->parsePolygon($part);
144
-    }
145
-    return new MultiPolygon($polys);
137
+	$parts = explode(')),((',$data_string);
138
+	$polys = array();
139
+	foreach ($parts as $part) {
140
+	  // Repair the string if the explode broke it
141
+	  if (!$this->beginsWith($part,'((')) $part = '((' . $part;
142
+	  if (!$this->endsWith($part,'))'))   $part = $part . '))';
143
+	  $polys[] = $this->parsePolygon($part);
144
+	}
145
+	return new MultiPolygon($polys);
146 146
   }
147 147
 
148 148
   private function parseGeometryCollection($data_string) {
149
-    $data_string = $this->trimParens($data_string);
149
+	$data_string = $this->trimParens($data_string);
150 150
 
151
-    // If it's marked as empty, then return an empty geom-collection
152
-    if ($data_string == 'EMPTY') return new GeometryCollection();
151
+	// If it's marked as empty, then return an empty geom-collection
152
+	if ($data_string == 'EMPTY') return new GeometryCollection();
153 153
     
154
-    $geometries = array();
155
-    $matches = array();
156
-    $str = preg_replace('/,\s*([A-Za-z])/', '|$1', $data_string);
157
-    $components = explode('|', trim($str));
154
+	$geometries = array();
155
+	$matches = array();
156
+	$str = preg_replace('/,\s*([A-Za-z])/', '|$1', $data_string);
157
+	$components = explode('|', trim($str));
158 158
     
159
-    foreach ($components as $component) {
160
-      $geometries[] = $this->read($component);
161
-    }
162
-    return new GeometryCollection($geometries);
159
+	foreach ($components as $component) {
160
+	  $geometries[] = $this->read($component);
161
+	}
162
+	return new GeometryCollection($geometries);
163 163
   }
164 164
 
165 165
   protected function getDataString($wkt) {
166
-    $first_paren = strpos($wkt, '(');
166
+	$first_paren = strpos($wkt, '(');
167 167
 
168
-    if ($first_paren !== FALSE) {
169
-      return substr($wkt, $first_paren);
170
-    }
171
-    return FALSE;
168
+	if ($first_paren !== FALSE) {
169
+	  return substr($wkt, $first_paren);
170
+	}
171
+	return FALSE;
172 172
   }
173 173
   
174 174
   /**
175 175
    * Trim the parenthesis and spaces
176 176
    */
177 177
   protected function trimParens($str) {
178
-    $str = trim($str);
178
+	$str = trim($str);
179 179
     
180
-    // We want to only strip off one set of parenthesis
181
-    if ($this->beginsWith($str, '(')) {
182
-      return substr($str,1,-1);
183
-    }
184
-    else return $str;
180
+	// We want to only strip off one set of parenthesis
181
+	if ($this->beginsWith($str, '(')) {
182
+	  return substr($str,1,-1);
183
+	}
184
+	else return $str;
185 185
   }
186 186
   
187 187
   protected function beginsWith($str, $char) {
188
-    if (substr($str,0,strlen($char)) == $char) return TRUE;
189
-    else return FALSE;
188
+	if (substr($str,0,strlen($char)) == $char) return TRUE;
189
+	else return FALSE;
190 190
   }
191 191
 
192 192
   protected function endsWith($str, $char) {
193
-    if (substr($str,(0 - strlen($char))) == $char) return TRUE;
194
-    else return FALSE;
193
+	if (substr($str,(0 - strlen($char))) == $char) return TRUE;
194
+	else return FALSE;
195 195
   }
196 196
     
197 197
   /**
@@ -202,19 +202,19 @@  discard block
 block discarded – undo
202 202
    * @return string The WKT string representation of the input geometries
203 203
    */
204 204
   public function write(Geometry $geometry) {
205
-    // If geos is installed, then we take a shortcut and let it write the WKT
206
-    if (geoPHP::geosInstalled()) {
207
-      $writer = new GEOSWKTWriter();
208
-      $writer->setTrim(TRUE);
209
-      return $writer->write($geometry->geos());
210
-    }
205
+	// If geos is installed, then we take a shortcut and let it write the WKT
206
+	if (geoPHP::geosInstalled()) {
207
+	  $writer = new GEOSWKTWriter();
208
+	  $writer->setTrim(TRUE);
209
+	  return $writer->write($geometry->geos());
210
+	}
211 211
     
212
-    if ($geometry->isEmpty()) {
213
-      return strtoupper($geometry->geometryType()).' EMPTY';
214
-    }
215
-    else if ($data = $this->extractData($geometry)) {
216
-      return strtoupper($geometry->geometryType()).' ('.$data.')';
217
-    }
212
+	if ($geometry->isEmpty()) {
213
+	  return strtoupper($geometry->geometryType()).' EMPTY';
214
+	}
215
+	else if ($data = $this->extractData($geometry)) {
216
+	  return strtoupper($geometry->geometryType()).' ('.$data.')';
217
+	}
218 218
   }
219 219
   
220 220
   /**
@@ -225,28 +225,28 @@  discard block
 block discarded – undo
225 225
    * @return string
226 226
    */
227 227
   public function extractData($geometry) {
228
-    $parts = array();
229
-    switch ($geometry->geometryType()) {
230
-      case 'Point':
231
-        return $geometry->getX().' '.$geometry->getY();
232
-      case 'LineString':
233
-        foreach ($geometry->getComponents() as $component) {
234
-          $parts[] = $this->extractData($component);
235
-        }
236
-        return implode(', ', $parts);
237
-      case 'Polygon':
238
-      case 'MultiPoint':
239
-      case 'MultiLineString':
240
-      case 'MultiPolygon':
241
-        foreach ($geometry->getComponents() as $component) {
242
-          $parts[] = '('.$this->extractData($component).')';
243
-        }
244
-        return implode(', ', $parts);
245
-      case 'GeometryCollection':
246
-        foreach ($geometry->getComponents() as $component) {
247
-          $parts[] = strtoupper($component->geometryType()).' ('.$this->extractData($component).')';
248
-        }
249
-        return implode(', ', $parts);
250
-    }
228
+	$parts = array();
229
+	switch ($geometry->geometryType()) {
230
+	  case 'Point':
231
+		return $geometry->getX().' '.$geometry->getY();
232
+	  case 'LineString':
233
+		foreach ($geometry->getComponents() as $component) {
234
+		  $parts[] = $this->extractData($component);
235
+		}
236
+		return implode(', ', $parts);
237
+	  case 'Polygon':
238
+	  case 'MultiPoint':
239
+	  case 'MultiLineString':
240
+	  case 'MultiPolygon':
241
+		foreach ($geometry->getComponents() as $component) {
242
+		  $parts[] = '('.$this->extractData($component).')';
243
+		}
244
+		return implode(', ', $parts);
245
+	  case 'GeometryCollection':
246
+		foreach ($geometry->getComponents() as $component) {
247
+		  $parts[] = strtoupper($component->geometryType()).' ('.$this->extractData($component).')';
248
+		}
249
+		return implode(', ', $parts);
250
+	}
251 251
   }
252 252
 }
Please login to merge, or discard this patch.
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -16,10 +16,10 @@  discard block
 block discarded – undo
16 16
     $wkt = trim($wkt);
17 17
     
18 18
     // If it contains a ';', then it contains additional SRID data
19
-    if (strpos($wkt,';')) {
19
+    if (strpos($wkt, ';')) {
20 20
       $parts = explode(';', $wkt);
21 21
       $wkt = $parts[1];
22
-      $eparts = explode('=',$parts[0]);
22
+      $eparts = explode('=', $parts[0]);
23 23
       $srid = $eparts[1];
24 24
     }
25 25
     else {
@@ -63,7 +63,7 @@  discard block
 block discarded – undo
63 63
   
64 64
   private function parsePoint($data_string) {
65 65
     $data_string = $this->trimParens($data_string);
66
-    $parts = explode(' ',$data_string);
66
+    $parts = explode(' ', $data_string);
67 67
     return new Point($parts[0], $parts[1]);
68 68
   }
69 69
 
@@ -73,7 +73,7 @@  discard block
 block discarded – undo
73 73
     // If it's marked as empty, then return an empty line
74 74
     if ($data_string == 'EMPTY') return new LineString();
75 75
     
76
-    $parts = explode(',',$data_string);
76
+    $parts = explode(',', $data_string);
77 77
     $points = array();
78 78
     foreach ($parts as $part) {
79 79
       $points[] = $this->parsePoint($part);
@@ -87,11 +87,11 @@  discard block
 block discarded – undo
87 87
     // If it's marked as empty, then return an empty polygon
88 88
     if ($data_string == 'EMPTY') return new Polygon();
89 89
     
90
-    $parts = explode('),(',$data_string);
90
+    $parts = explode('),(', $data_string);
91 91
     $lines = array();
92 92
     foreach ($parts as $part) {
93
-      if (!$this->beginsWith($part,'(')) $part = '(' . $part;
94
-      if (!$this->endsWith($part,')'))   $part = $part . ')';
93
+      if (!$this->beginsWith($part, '(')) $part = '('.$part;
94
+      if (!$this->endsWith($part, ')'))   $part = $part.')';
95 95
       $lines[] = $this->parseLineString($part);
96 96
     }
97 97
     return new Polygon($lines);
@@ -103,7 +103,7 @@  discard block
 block discarded – undo
103 103
     // If it's marked as empty, then return an empty MutiPoint
104 104
     if ($data_string == 'EMPTY') return new MultiPoint();
105 105
     
106
-    $parts = explode(',',$data_string);
106
+    $parts = explode(',', $data_string);
107 107
     $points = array();
108 108
     foreach ($parts as $part) {
109 109
       $points[] = $this->parsePoint($part);
@@ -117,12 +117,12 @@  discard block
 block discarded – undo
117 117
     // If it's marked as empty, then return an empty multi-linestring
118 118
     if ($data_string == 'EMPTY') return new MultiLineString();
119 119
     
120
-    $parts = explode('),(',$data_string);
120
+    $parts = explode('),(', $data_string);
121 121
     $lines = array();
122 122
     foreach ($parts as $part) {
123 123
       // Repair the string if the explode broke it
124
-      if (!$this->beginsWith($part,'(')) $part = '(' . $part;
125
-      if (!$this->endsWith($part,')'))   $part = $part . ')';
124
+      if (!$this->beginsWith($part, '(')) $part = '('.$part;
125
+      if (!$this->endsWith($part, ')'))   $part = $part.')';
126 126
       $lines[] = $this->parseLineString($part);
127 127
     }
128 128
     return new MultiLineString($lines);
@@ -134,12 +134,12 @@  discard block
 block discarded – undo
134 134
     // If it's marked as empty, then return an empty multi-polygon
135 135
     if ($data_string == 'EMPTY') return new MultiPolygon();
136 136
     
137
-    $parts = explode(')),((',$data_string);
137
+    $parts = explode(')),((', $data_string);
138 138
     $polys = array();
139 139
     foreach ($parts as $part) {
140 140
       // Repair the string if the explode broke it
141
-      if (!$this->beginsWith($part,'((')) $part = '((' . $part;
142
-      if (!$this->endsWith($part,'))'))   $part = $part . '))';
141
+      if (!$this->beginsWith($part, '((')) $part = '(('.$part;
142
+      if (!$this->endsWith($part, '))'))   $part = $part.'))';
143 143
       $polys[] = $this->parsePolygon($part);
144 144
     }
145 145
     return new MultiPolygon($polys);
@@ -179,18 +179,18 @@  discard block
 block discarded – undo
179 179
     
180 180
     // We want to only strip off one set of parenthesis
181 181
     if ($this->beginsWith($str, '(')) {
182
-      return substr($str,1,-1);
182
+      return substr($str, 1, -1);
183 183
     }
184 184
     else return $str;
185 185
   }
186 186
   
187 187
   protected function beginsWith($str, $char) {
188
-    if (substr($str,0,strlen($char)) == $char) return TRUE;
188
+    if (substr($str, 0, strlen($char)) == $char) return TRUE;
189 189
     else return FALSE;
190 190
   }
191 191
 
192 192
   protected function endsWith($str, $char) {
193
-    if (substr($str,(0 - strlen($char))) == $char) return TRUE;
193
+    if (substr($str, (0 - strlen($char))) == $char) return TRUE;
194 194
     else return FALSE;
195 195
   }
196 196
     
Please login to merge, or discard this patch.
Braces   +52 added lines, -25 removed lines patch added patch discarded remove patch
@@ -21,8 +21,7 @@  discard block
 block discarded – undo
21 21
       $wkt = $parts[1];
22 22
       $eparts = explode('=',$parts[0]);
23 23
       $srid = $eparts[1];
24
-    }
25
-    else {
24
+    } else {
26 25
       $srid = NULL;
27 26
     }
28 27
     
@@ -33,8 +32,7 @@  discard block
 block discarded – undo
33 32
         $geom = geoPHP::geosToGeometry($reader->read($wkt));
34 33
         $geom->setSRID($srid);
35 34
         return $geom;
36
-      }
37
-      else { 
35
+      } else { 
38 36
         return geoPHP::geosToGeometry($reader->read($wkt));
39 37
       }
40 38
     }
@@ -52,8 +50,7 @@  discard block
 block discarded – undo
52 50
           $geom = $this->$method($data_string);
53 51
           $geom->setSRID($srid);
54 52
           return $geom;
55
-        }
56
-        else { 
53
+        } else { 
57 54
           return $this->$method($data_string);
58 55
         }
59 56
         
@@ -71,7 +68,9 @@  discard block
 block discarded – undo
71 68
     $data_string = $this->trimParens($data_string);
72 69
 
73 70
     // If it's marked as empty, then return an empty line
74
-    if ($data_string == 'EMPTY') return new LineString();
71
+    if ($data_string == 'EMPTY') {
72
+    	return new LineString();
73
+    }
75 74
     
76 75
     $parts = explode(',',$data_string);
77 76
     $points = array();
@@ -85,13 +84,19 @@  discard block
 block discarded – undo
85 84
     $data_string = $this->trimParens($data_string);
86 85
     
87 86
     // If it's marked as empty, then return an empty polygon
88
-    if ($data_string == 'EMPTY') return new Polygon();
87
+    if ($data_string == 'EMPTY') {
88
+    	return new Polygon();
89
+    }
89 90
     
90 91
     $parts = explode('),(',$data_string);
91 92
     $lines = array();
92 93
     foreach ($parts as $part) {
93
-      if (!$this->beginsWith($part,'(')) $part = '(' . $part;
94
-      if (!$this->endsWith($part,')'))   $part = $part . ')';
94
+      if (!$this->beginsWith($part,'(')) {
95
+      	$part = '(' . $part;
96
+      }
97
+      if (!$this->endsWith($part,')')) {
98
+      	$part = $part . ')';
99
+      }
95 100
       $lines[] = $this->parseLineString($part);
96 101
     }
97 102
     return new Polygon($lines);
@@ -101,7 +106,9 @@  discard block
 block discarded – undo
101 106
     $data_string = $this->trimParens($data_string);
102 107
     
103 108
     // If it's marked as empty, then return an empty MutiPoint
104
-    if ($data_string == 'EMPTY') return new MultiPoint();
109
+    if ($data_string == 'EMPTY') {
110
+    	return new MultiPoint();
111
+    }
105 112
     
106 113
     $parts = explode(',',$data_string);
107 114
     $points = array();
@@ -115,14 +122,20 @@  discard block
 block discarded – undo
115 122
     $data_string = $this->trimParens($data_string);
116 123
 
117 124
     // If it's marked as empty, then return an empty multi-linestring
118
-    if ($data_string == 'EMPTY') return new MultiLineString();
125
+    if ($data_string == 'EMPTY') {
126
+    	return new MultiLineString();
127
+    }
119 128
     
120 129
     $parts = explode('),(',$data_string);
121 130
     $lines = array();
122 131
     foreach ($parts as $part) {
123 132
       // Repair the string if the explode broke it
124
-      if (!$this->beginsWith($part,'(')) $part = '(' . $part;
125
-      if (!$this->endsWith($part,')'))   $part = $part . ')';
133
+      if (!$this->beginsWith($part,'(')) {
134
+      	$part = '(' . $part;
135
+      }
136
+      if (!$this->endsWith($part,')')) {
137
+      	$part = $part . ')';
138
+      }
126 139
       $lines[] = $this->parseLineString($part);
127 140
     }
128 141
     return new MultiLineString($lines);
@@ -132,14 +145,20 @@  discard block
 block discarded – undo
132 145
     $data_string = $this->trimParens($data_string);
133 146
 
134 147
     // If it's marked as empty, then return an empty multi-polygon
135
-    if ($data_string == 'EMPTY') return new MultiPolygon();
148
+    if ($data_string == 'EMPTY') {
149
+    	return new MultiPolygon();
150
+    }
136 151
     
137 152
     $parts = explode(')),((',$data_string);
138 153
     $polys = array();
139 154
     foreach ($parts as $part) {
140 155
       // Repair the string if the explode broke it
141
-      if (!$this->beginsWith($part,'((')) $part = '((' . $part;
142
-      if (!$this->endsWith($part,'))'))   $part = $part . '))';
156
+      if (!$this->beginsWith($part,'((')) {
157
+      	$part = '((' . $part;
158
+      }
159
+      if (!$this->endsWith($part,'))')) {
160
+      	$part = $part . '))';
161
+      }
143 162
       $polys[] = $this->parsePolygon($part);
144 163
     }
145 164
     return new MultiPolygon($polys);
@@ -149,7 +168,9 @@  discard block
 block discarded – undo
149 168
     $data_string = $this->trimParens($data_string);
150 169
 
151 170
     // If it's marked as empty, then return an empty geom-collection
152
-    if ($data_string == 'EMPTY') return new GeometryCollection();
171
+    if ($data_string == 'EMPTY') {
172
+    	return new GeometryCollection();
173
+    }
153 174
     
154 175
     $geometries = array();
155 176
     $matches = array();
@@ -180,18 +201,25 @@  discard block
 block discarded – undo
180 201
     // We want to only strip off one set of parenthesis
181 202
     if ($this->beginsWith($str, '(')) {
182 203
       return substr($str,1,-1);
204
+    } else {
205
+    	return $str;
183 206
     }
184
-    else return $str;
185 207
   }
186 208
   
187 209
   protected function beginsWith($str, $char) {
188
-    if (substr($str,0,strlen($char)) == $char) return TRUE;
189
-    else return FALSE;
210
+    if (substr($str,0,strlen($char)) == $char) {
211
+    	return TRUE;
212
+    } else {
213
+    	return FALSE;
214
+    }
190 215
   }
191 216
 
192 217
   protected function endsWith($str, $char) {
193
-    if (substr($str,(0 - strlen($char))) == $char) return TRUE;
194
-    else return FALSE;
218
+    if (substr($str,(0 - strlen($char))) == $char) {
219
+    	return TRUE;
220
+    } else {
221
+    	return FALSE;
222
+    }
195 223
   }
196 224
     
197 225
   /**
@@ -211,8 +239,7 @@  discard block
 block discarded – undo
211 239
     
212 240
     if ($geometry->isEmpty()) {
213 241
       return strtoupper($geometry->geometryType()).' EMPTY';
214
-    }
215
-    else if ($data = $this->extractData($geometry)) {
242
+    } else if ($data = $this->extractData($geometry)) {
216 243
       return strtoupper($geometry->geometryType()).' ('.$data.')';
217 244
     }
218 245
   }
Please login to merge, or discard this patch.
require/libs/geoPHP/lib/geometry/Polygon.class.php 4 patches
Doc Comments   +3 added lines patch added patch discarded remove patch
@@ -193,6 +193,9 @@
 block discarded – undo
193 193
     }
194 194
   }
195 195
   
196
+  /**
197
+   * @param Point $point
198
+   */
196 199
   public function pointOnVertex($point) {
197 200
     foreach($this->getPoints() as $vertex) {
198 201
       if ($point->equals($vertex)) {
Please login to merge, or discard this patch.
Indentation   +117 added lines, -117 removed lines patch added patch discarded remove patch
@@ -9,70 +9,70 @@  discard block
 block discarded – undo
9 9
   protected $geom_type = 'Polygon';
10 10
 
11 11
   public function area($exterior_only = FALSE, $signed = FALSE) {
12
-    if ($this->isEmpty()) return 0;
12
+	if ($this->isEmpty()) return 0;
13 13
     
14
-    if ($this->geos() && $exterior_only == FALSE) {
15
-      return $this->geos()->area();
16
-    }
14
+	if ($this->geos() && $exterior_only == FALSE) {
15
+	  return $this->geos()->area();
16
+	}
17 17
     
18
-    $exterior_ring = $this->components[0];
19
-    $pts = $exterior_ring->getComponents();
18
+	$exterior_ring = $this->components[0];
19
+	$pts = $exterior_ring->getComponents();
20 20
     
21
-    $c = count($pts);
22
-    if((int)$c == '0') return NULL;
23
-    $a = '0';
24
-    foreach($pts as $k => $p){
25
-      $j = ($k + 1) % $c;
26
-      $a = $a + ($p->getX() * $pts[$j]->getY()) - ($p->getY() * $pts[$j]->getX());
27
-    }
21
+	$c = count($pts);
22
+	if((int)$c == '0') return NULL;
23
+	$a = '0';
24
+	foreach($pts as $k => $p){
25
+	  $j = ($k + 1) % $c;
26
+	  $a = $a + ($p->getX() * $pts[$j]->getY()) - ($p->getY() * $pts[$j]->getX());
27
+	}
28 28
     
29
-    if ($signed) $area = ($a / 2);
30
-    else $area = abs(($a / 2));
29
+	if ($signed) $area = ($a / 2);
30
+	else $area = abs(($a / 2));
31 31
     
32
-    if ($exterior_only == TRUE) {
33
-      return $area;
34
-    }
35
-    foreach ($this->components as $delta => $component) {
36
-      if ($delta != 0) {
37
-        $inner_poly = new Polygon(array($component));
38
-        $area -= $inner_poly->area();
39
-      }
40
-    }
41
-    return $area;
32
+	if ($exterior_only == TRUE) {
33
+	  return $area;
34
+	}
35
+	foreach ($this->components as $delta => $component) {
36
+	  if ($delta != 0) {
37
+		$inner_poly = new Polygon(array($component));
38
+		$area -= $inner_poly->area();
39
+	  }
40
+	}
41
+	return $area;
42 42
   }
43 43
   
44 44
   public function centroid() {
45
-    if ($this->isEmpty()) return NULL;
45
+	if ($this->isEmpty()) return NULL;
46 46
     
47
-    if ($this->geos()) {
48
-      return geoPHP::geosToGeometry($this->geos()->centroid());
49
-    }
47
+	if ($this->geos()) {
48
+	  return geoPHP::geosToGeometry($this->geos()->centroid());
49
+	}
50 50
     
51
-    $exterior_ring = $this->components[0];
52
-    $pts = $exterior_ring->getComponents();
51
+	$exterior_ring = $this->components[0];
52
+	$pts = $exterior_ring->getComponents();
53 53
     
54
-    $c = count($pts);
55
-    if((int)$c == '0') return NULL;
56
-    $cn = array('x' => '0', 'y' => '0');
57
-    $a = $this->area(TRUE, TRUE);
54
+	$c = count($pts);
55
+	if((int)$c == '0') return NULL;
56
+	$cn = array('x' => '0', 'y' => '0');
57
+	$a = $this->area(TRUE, TRUE);
58 58
     
59
-    // If this is a polygon with no area. Just return the first point.
60
-    if ($a == 0) {
61
-      return $this->exteriorRing()->pointN(1);
62
-    }
59
+	// If this is a polygon with no area. Just return the first point.
60
+	if ($a == 0) {
61
+	  return $this->exteriorRing()->pointN(1);
62
+	}
63 63
     
64
-    foreach($pts as $k => $p){
65
-      $j = ($k + 1) % $c;
66
-      $P = ($p->getX() * $pts[$j]->getY()) - ($p->getY() * $pts[$j]->getX());
67
-      $cn['x'] = $cn['x'] + ($p->getX() + $pts[$j]->getX()) * $P;
68
-      $cn['y'] = $cn['y'] + ($p->getY() + $pts[$j]->getY()) * $P;
69
-    }
64
+	foreach($pts as $k => $p){
65
+	  $j = ($k + 1) % $c;
66
+	  $P = ($p->getX() * $pts[$j]->getY()) - ($p->getY() * $pts[$j]->getX());
67
+	  $cn['x'] = $cn['x'] + ($p->getX() + $pts[$j]->getX()) * $P;
68
+	  $cn['y'] = $cn['y'] + ($p->getY() + $pts[$j]->getY()) * $P;
69
+	}
70 70
     
71
-    $cn['x'] = $cn['x'] / ( 6 * $a);
72
-    $cn['y'] = $cn['y'] / ( 6 * $a);
71
+	$cn['x'] = $cn['x'] / ( 6 * $a);
72
+	$cn['y'] = $cn['y'] / ( 6 * $a);
73 73
     
74
-    $centroid = new Point($cn['x'], $cn['y']);
75
-    return $centroid;
74
+	$centroid = new Point($cn['x'], $cn['y']);
75
+	return $centroid;
76 76
   }
77 77
 
78 78
 	/**
@@ -98,41 +98,41 @@  discard block
 block discarded – undo
98 98
   }
99 99
 
100 100
   public function exteriorRing() {
101
-    if ($this->isEmpty()) return new LineString();
102
-    return $this->components[0];
101
+	if ($this->isEmpty()) return new LineString();
102
+	return $this->components[0];
103 103
   }
104 104
   
105 105
   public function numInteriorRings() {
106
-    if ($this->isEmpty()) return 0;
107
-    return $this->numGeometries()-1;
106
+	if ($this->isEmpty()) return 0;
107
+	return $this->numGeometries()-1;
108 108
   }
109 109
   
110 110
   public function interiorRingN($n) {
111
-    return $this->geometryN($n+1);
111
+	return $this->geometryN($n+1);
112 112
   }
113 113
   
114 114
   public function dimension() {
115
-    if ($this->isEmpty()) return 0;
116
-    return 2;
115
+	if ($this->isEmpty()) return 0;
116
+	return 2;
117 117
   }
118 118
 
119 119
   public function isSimple() {
120
-    if ($this->geos()) {
121
-      return $this->geos()->isSimple();
122
-    }
120
+	if ($this->geos()) {
121
+	  return $this->geos()->isSimple();
122
+	}
123 123
     
124
-    $segments = $this->explode();
124
+	$segments = $this->explode();
125 125
     
126
-    foreach ($segments as $i => $segment) {
127
-      foreach ($segments as $j => $check_segment) {
128
-        if ($i != $j) {
129
-          if ($segment->lineSegmentIntersect($check_segment)) {
130
-            return FALSE;
131
-          }
132
-        }
133
-      }
134
-    }
135
-    return TRUE;
126
+	foreach ($segments as $i => $segment) {
127
+	  foreach ($segments as $j => $check_segment) {
128
+		if ($i != $j) {
129
+		  if ($segment->lineSegmentIntersect($check_segment)) {
130
+			return FALSE;
131
+		  }
132
+		}
133
+	  }
134
+	}
135
+	return TRUE;
136 136
   }
137 137
 
138 138
   /**
@@ -146,59 +146,59 @@  discard block
 block discarded – undo
146 146
    * @return boolean
147 147
    */
148 148
   public function pointInPolygon($point, $pointOnBoundary = true, $pointOnVertex = true) {
149
-    $vertices = $this->getPoints();
149
+	$vertices = $this->getPoints();
150 150
 
151
-    // Check if the point sits exactly on a vertex
152
-    if ($this->pointOnVertex($point, $vertices)) {
153
-      return $pointOnVertex ? TRUE : FALSE;
154
-    }
151
+	// Check if the point sits exactly on a vertex
152
+	if ($this->pointOnVertex($point, $vertices)) {
153
+	  return $pointOnVertex ? TRUE : FALSE;
154
+	}
155 155
   
156
-    // Check if the point is inside the polygon or on the boundary
157
-    $intersections = 0; 
158
-    $vertices_count = count($vertices);
156
+	// Check if the point is inside the polygon or on the boundary
157
+	$intersections = 0; 
158
+	$vertices_count = count($vertices);
159 159
 
160
-    for ($i=1; $i < $vertices_count; $i++) {
161
-      $vertex1 = $vertices[$i-1]; 
162
-      $vertex2 = $vertices[$i];
163
-      if ($vertex1->y() == $vertex2->y() 
164
-      && $vertex1->y() == $point->y() 
165
-      && $point->x() > min($vertex1->x(), $vertex2->x()) 
166
-      && $point->x() < max($vertex1->x(), $vertex2->x())) {
167
-        // Check if point is on an horizontal polygon boundary
168
-        return $pointOnBoundary ? TRUE : FALSE;
169
-      }
170
-      if ($point->y() > min($vertex1->y(), $vertex2->y())
171
-      && $point->y() <= max($vertex1->y(), $vertex2->y())
172
-      && $point->x() <= max($vertex1->x(), $vertex2->x())
173
-      && $vertex1->y() != $vertex2->y()) {
174
-        $xinters = 
175
-          ($point->y() - $vertex1->y()) * ($vertex2->x() - $vertex1->x())
176
-          / ($vertex2->y() - $vertex1->y()) 
177
-          + $vertex1->x();
178
-        if ($xinters == $point->x()) {
179
-          // Check if point is on the polygon boundary (other than horizontal)
180
-          return $pointOnBoundary ? TRUE : FALSE;
181
-        }
182
-        if ($vertex1->x() == $vertex2->x() || $point->x() <= $xinters) {
183
-          $intersections++;
184
-        }
185
-      } 
186
-    } 
187
-    // If the number of edges we passed through is even, then it's in the polygon.
188
-    if ($intersections % 2 != 0) {
189
-      return TRUE;
190
-    }
191
-    else {
192
-      return FALSE;
193
-    }
160
+	for ($i=1; $i < $vertices_count; $i++) {
161
+	  $vertex1 = $vertices[$i-1]; 
162
+	  $vertex2 = $vertices[$i];
163
+	  if ($vertex1->y() == $vertex2->y() 
164
+	  && $vertex1->y() == $point->y() 
165
+	  && $point->x() > min($vertex1->x(), $vertex2->x()) 
166
+	  && $point->x() < max($vertex1->x(), $vertex2->x())) {
167
+		// Check if point is on an horizontal polygon boundary
168
+		return $pointOnBoundary ? TRUE : FALSE;
169
+	  }
170
+	  if ($point->y() > min($vertex1->y(), $vertex2->y())
171
+	  && $point->y() <= max($vertex1->y(), $vertex2->y())
172
+	  && $point->x() <= max($vertex1->x(), $vertex2->x())
173
+	  && $vertex1->y() != $vertex2->y()) {
174
+		$xinters = 
175
+		  ($point->y() - $vertex1->y()) * ($vertex2->x() - $vertex1->x())
176
+		  / ($vertex2->y() - $vertex1->y()) 
177
+		  + $vertex1->x();
178
+		if ($xinters == $point->x()) {
179
+		  // Check if point is on the polygon boundary (other than horizontal)
180
+		  return $pointOnBoundary ? TRUE : FALSE;
181
+		}
182
+		if ($vertex1->x() == $vertex2->x() || $point->x() <= $xinters) {
183
+		  $intersections++;
184
+		}
185
+	  } 
186
+	} 
187
+	// If the number of edges we passed through is even, then it's in the polygon.
188
+	if ($intersections % 2 != 0) {
189
+	  return TRUE;
190
+	}
191
+	else {
192
+	  return FALSE;
193
+	}
194 194
   }
195 195
   
196 196
   public function pointOnVertex($point) {
197
-    foreach($this->getPoints() as $vertex) {
198
-      if ($point->equals($vertex)) {
199
-        return true;
200
-      }
201
-    }
197
+	foreach($this->getPoints() as $vertex) {
198
+	  if ($point->equals($vertex)) {
199
+		return true;
200
+	  }
201
+	}
202 202
   }
203 203
 
204 204
 
Please login to merge, or discard this patch.
Spacing   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -19,15 +19,15 @@  discard block
 block discarded – undo
19 19
     $pts = $exterior_ring->getComponents();
20 20
     
21 21
     $c = count($pts);
22
-    if((int)$c == '0') return NULL;
22
+    if ((int) $c == '0') return NULL;
23 23
     $a = '0';
24
-    foreach($pts as $k => $p){
25
-      $j = ($k + 1) % $c;
26
-      $a = $a + ($p->getX() * $pts[$j]->getY()) - ($p->getY() * $pts[$j]->getX());
24
+    foreach ($pts as $k => $p) {
25
+      $j = ($k + 1)%$c;
26
+      $a = $a + ($p->getX()*$pts[$j]->getY()) - ($p->getY()*$pts[$j]->getX());
27 27
     }
28 28
     
29
-    if ($signed) $area = ($a / 2);
30
-    else $area = abs(($a / 2));
29
+    if ($signed) $area = ($a/2);
30
+    else $area = abs(($a/2));
31 31
     
32 32
     if ($exterior_only == TRUE) {
33 33
       return $area;
@@ -52,7 +52,7 @@  discard block
 block discarded – undo
52 52
     $pts = $exterior_ring->getComponents();
53 53
     
54 54
     $c = count($pts);
55
-    if((int)$c == '0') return NULL;
55
+    if ((int) $c == '0') return NULL;
56 56
     $cn = array('x' => '0', 'y' => '0');
57 57
     $a = $this->area(TRUE, TRUE);
58 58
     
@@ -61,15 +61,15 @@  discard block
 block discarded – undo
61 61
       return $this->exteriorRing()->pointN(1);
62 62
     }
63 63
     
64
-    foreach($pts as $k => $p){
65
-      $j = ($k + 1) % $c;
66
-      $P = ($p->getX() * $pts[$j]->getY()) - ($p->getY() * $pts[$j]->getX());
67
-      $cn['x'] = $cn['x'] + ($p->getX() + $pts[$j]->getX()) * $P;
68
-      $cn['y'] = $cn['y'] + ($p->getY() + $pts[$j]->getY()) * $P;
64
+    foreach ($pts as $k => $p) {
65
+      $j = ($k + 1)%$c;
66
+      $P = ($p->getX()*$pts[$j]->getY()) - ($p->getY()*$pts[$j]->getX());
67
+      $cn['x'] = $cn['x'] + ($p->getX() + $pts[$j]->getX())*$P;
68
+      $cn['y'] = $cn['y'] + ($p->getY() + $pts[$j]->getY())*$P;
69 69
     }
70 70
     
71
-    $cn['x'] = $cn['x'] / ( 6 * $a);
72
-    $cn['y'] = $cn['y'] / ( 6 * $a);
71
+    $cn['x'] = $cn['x']/(6*$a);
72
+    $cn['y'] = $cn['y']/(6*$a);
73 73
     
74 74
     $centroid = new Point($cn['x'], $cn['y']);
75 75
     return $centroid;
@@ -85,10 +85,10 @@  discard block
 block discarded – undo
85 85
 
86 86
 		$max = array('length' => 0, 'point' => null);
87 87
 
88
-		foreach($this->getPoints() as $point) {
88
+		foreach ($this->getPoints() as $point) {
89 89
 			$lineString = new LineString(array($centroid, $point));
90 90
 
91
-			if($lineString->length() > $max['length']) {
91
+			if ($lineString->length() > $max['length']) {
92 92
 				$max['length'] = $lineString->length();
93 93
 				$max['point'] = $point;
94 94
 			}
@@ -104,11 +104,11 @@  discard block
 block discarded – undo
104 104
   
105 105
   public function numInteriorRings() {
106 106
     if ($this->isEmpty()) return 0;
107
-    return $this->numGeometries()-1;
107
+    return $this->numGeometries() - 1;
108 108
   }
109 109
   
110 110
   public function interiorRingN($n) {
111
-    return $this->geometryN($n+1);
111
+    return $this->geometryN($n + 1);
112 112
   }
113 113
   
114 114
   public function dimension() {
@@ -157,8 +157,8 @@  discard block
 block discarded – undo
157 157
     $intersections = 0; 
158 158
     $vertices_count = count($vertices);
159 159
 
160
-    for ($i=1; $i < $vertices_count; $i++) {
161
-      $vertex1 = $vertices[$i-1]; 
160
+    for ($i = 1; $i < $vertices_count; $i++) {
161
+      $vertex1 = $vertices[$i - 1]; 
162 162
       $vertex2 = $vertices[$i];
163 163
       if ($vertex1->y() == $vertex2->y() 
164 164
       && $vertex1->y() == $point->y() 
@@ -172,7 +172,7 @@  discard block
 block discarded – undo
172 172
       && $point->x() <= max($vertex1->x(), $vertex2->x())
173 173
       && $vertex1->y() != $vertex2->y()) {
174 174
         $xinters = 
175
-          ($point->y() - $vertex1->y()) * ($vertex2->x() - $vertex1->x())
175
+          ($point->y() - $vertex1->y())*($vertex2->x() - $vertex1->x())
176 176
           / ($vertex2->y() - $vertex1->y()) 
177 177
           + $vertex1->x();
178 178
         if ($xinters == $point->x()) {
@@ -185,7 +185,7 @@  discard block
 block discarded – undo
185 185
       } 
186 186
     } 
187 187
     // If the number of edges we passed through is even, then it's in the polygon.
188
-    if ($intersections % 2 != 0) {
188
+    if ($intersections%2 != 0) {
189 189
       return TRUE;
190 190
     }
191 191
     else {
@@ -194,7 +194,7 @@  discard block
 block discarded – undo
194 194
   }
195 195
   
196 196
   public function pointOnVertex($point) {
197
-    foreach($this->getPoints() as $vertex) {
197
+    foreach ($this->getPoints() as $vertex) {
198 198
       if ($point->equals($vertex)) {
199 199
         return true;
200 200
       }
Please login to merge, or discard this patch.
Braces   +27 added lines, -11 removed lines patch added patch discarded remove patch
@@ -9,7 +9,9 @@  discard block
 block discarded – undo
9 9
   protected $geom_type = 'Polygon';
10 10
 
11 11
   public function area($exterior_only = FALSE, $signed = FALSE) {
12
-    if ($this->isEmpty()) return 0;
12
+    if ($this->isEmpty()) {
13
+    	return 0;
14
+    }
13 15
     
14 16
     if ($this->geos() && $exterior_only == FALSE) {
15 17
       return $this->geos()->area();
@@ -19,15 +21,20 @@  discard block
 block discarded – undo
19 21
     $pts = $exterior_ring->getComponents();
20 22
     
21 23
     $c = count($pts);
22
-    if((int)$c == '0') return NULL;
24
+    if((int)$c == '0') {
25
+    	return NULL;
26
+    }
23 27
     $a = '0';
24 28
     foreach($pts as $k => $p){
25 29
       $j = ($k + 1) % $c;
26 30
       $a = $a + ($p->getX() * $pts[$j]->getY()) - ($p->getY() * $pts[$j]->getX());
27 31
     }
28 32
     
29
-    if ($signed) $area = ($a / 2);
30
-    else $area = abs(($a / 2));
33
+    if ($signed) {
34
+    	$area = ($a / 2);
35
+    } else {
36
+    	$area = abs(($a / 2));
37
+    }
31 38
     
32 39
     if ($exterior_only == TRUE) {
33 40
       return $area;
@@ -42,7 +49,9 @@  discard block
 block discarded – undo
42 49
   }
43 50
   
44 51
   public function centroid() {
45
-    if ($this->isEmpty()) return NULL;
52
+    if ($this->isEmpty()) {
53
+    	return NULL;
54
+    }
46 55
     
47 56
     if ($this->geos()) {
48 57
       return geoPHP::geosToGeometry($this->geos()->centroid());
@@ -52,7 +61,9 @@  discard block
 block discarded – undo
52 61
     $pts = $exterior_ring->getComponents();
53 62
     
54 63
     $c = count($pts);
55
-    if((int)$c == '0') return NULL;
64
+    if((int)$c == '0') {
65
+    	return NULL;
66
+    }
56 67
     $cn = array('x' => '0', 'y' => '0');
57 68
     $a = $this->area(TRUE, TRUE);
58 69
     
@@ -98,12 +109,16 @@  discard block
 block discarded – undo
98 109
   }
99 110
 
100 111
   public function exteriorRing() {
101
-    if ($this->isEmpty()) return new LineString();
112
+    if ($this->isEmpty()) {
113
+    	return new LineString();
114
+    }
102 115
     return $this->components[0];
103 116
   }
104 117
   
105 118
   public function numInteriorRings() {
106
-    if ($this->isEmpty()) return 0;
119
+    if ($this->isEmpty()) {
120
+    	return 0;
121
+    }
107 122
     return $this->numGeometries()-1;
108 123
   }
109 124
   
@@ -112,7 +127,9 @@  discard block
 block discarded – undo
112 127
   }
113 128
   
114 129
   public function dimension() {
115
-    if ($this->isEmpty()) return 0;
130
+    if ($this->isEmpty()) {
131
+    	return 0;
132
+    }
116 133
     return 2;
117 134
   }
118 135
 
@@ -187,8 +204,7 @@  discard block
 block discarded – undo
187 204
     // If the number of edges we passed through is even, then it's in the polygon.
188 205
     if ($intersections % 2 != 0) {
189 206
       return TRUE;
190
-    }
191
-    else {
207
+    } else {
192 208
       return FALSE;
193 209
     }
194 210
   }
Please login to merge, or discard this patch.
require/libs/geoPHP/tests/postgis.php 3 patches
Doc Comments   +4 added lines patch added patch discarded remove patch
@@ -41,6 +41,10 @@
 block discarded – undo
41 41
   print "Testing Done!";
42 42
 }
43 43
 
44
+/**
45
+ * @param resource $connection
46
+ * @param string $format
47
+ */
44 48
 function test_postgis($name, $type, $geom, $connection, $format) {
45 49
   global $table;
46 50
   
Please login to merge, or discard this patch.
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -25,18 +25,18 @@  discard block
 block discarded – undo
25 25
   // ----------------------------
26 26
   
27 27
   foreach (scandir('./input') as $file) {
28
-    $parts = explode('.',$file);
29
-    if ($parts[0]) {
30
-      $name = $parts[0];
31
-      $format = $parts[1];
32
-      $value = file_get_contents('./input/'.$file);
33
-      print '---- Testing '.$file."\n";
34
-      flush();
35
-      $geometry = geoPHP::load($value, $format);
36
-      test_postgis($name, $format, $geometry, $connection, 'wkb');
37
-      $geometry->setSRID(4326);
38
-      test_postgis($name, $format, $geometry, $connection, 'ewkb');
39
-    }
28
+	$parts = explode('.',$file);
29
+	if ($parts[0]) {
30
+	  $name = $parts[0];
31
+	  $format = $parts[1];
32
+	  $value = file_get_contents('./input/'.$file);
33
+	  print '---- Testing '.$file."\n";
34
+	  flush();
35
+	  $geometry = geoPHP::load($value, $format);
36
+	  test_postgis($name, $format, $geometry, $connection, 'wkb');
37
+	  $geometry->setSRID(4326);
38
+	  test_postgis($name, $format, $geometry, $connection, 'ewkb');
39
+	}
40 40
   }
41 41
   print "Testing Done!";
42 42
 }
@@ -51,32 +51,32 @@  discard block
 block discarded – undo
51 51
   // SELECT using asBinary PostGIS
52 52
   $result = pg_fetch_all(pg_query($connection, "SELECT asBinary(geom) as geom FROM $table WHERE name='$name'"));
53 53
   foreach ($result as $item) {
54
-    $wkb = pg_unescape_bytea($item['geom']); // Make sure to unescape the hex blob
55
-    $geom = geoPHP::load($wkb, $format); // We now a full geoPHP Geometry object
54
+	$wkb = pg_unescape_bytea($item['geom']); // Make sure to unescape the hex blob
55
+	$geom = geoPHP::load($wkb, $format); // We now a full geoPHP Geometry object
56 56
   }
57 57
   
58 58
   // SELECT and INSERT directly, with no wrapping functions
59 59
   $result = pg_fetch_all(pg_query($connection, "SELECT geom as geom FROM $table WHERE name='$name'"));
60 60
   foreach ($result as $item) {
61
-    $wkb = pack('H*',$item['geom']);   // Unpacking the hex blob
62
-    $geom = geoPHP::load($wkb, $format); // We now have a geoPHP Geometry
61
+	$wkb = pack('H*',$item['geom']);   // Unpacking the hex blob
62
+	$geom = geoPHP::load($wkb, $format); // We now have a geoPHP Geometry
63 63
   
64
-    // Let's re-insert directly into postGIS
65
-    // We need to unpack the WKB
66
-    $unpacked = unpack('H*', $geom->out($format));
67
-    $insert_string = $unpacked[1];
68
-    pg_query($connection, "INSERT INTO $table (name, type, geom) values ('$name', '$type', '$insert_string')");
64
+	// Let's re-insert directly into postGIS
65
+	// We need to unpack the WKB
66
+	$unpacked = unpack('H*', $geom->out($format));
67
+	$insert_string = $unpacked[1];
68
+	pg_query($connection, "INSERT INTO $table (name, type, geom) values ('$name', '$type', '$insert_string')");
69 69
   }
70 70
 
71 71
   // SELECT and INSERT using as EWKT (ST_GeomFromEWKT and ST_AsEWKT)
72 72
   $result = pg_fetch_all(pg_query($connection, "SELECT ST_AsEWKT(geom) as geom FROM $table WHERE name='$name'"));
73 73
   foreach ($result as $item) {
74
-    $wkt = $item['geom']; // Make sure to unescape the hex blob
75
-    $geom = geoPHP::load($wkt, 'ewkt'); // We now a full geoPHP Geometry object
74
+	$wkt = $item['geom']; // Make sure to unescape the hex blob
75
+	$geom = geoPHP::load($wkt, 'ewkt'); // We now a full geoPHP Geometry object
76 76
 
77
-    // Let's re-insert directly into postGIS
78
-    $insert_string = $geom->out('ewkt');
79
-    pg_query($connection, "INSERT INTO $table (name, type, geom) values ('$name', '$type', ST_GeomFromEWKT('$insert_string'))");
77
+	// Let's re-insert directly into postGIS
78
+	$insert_string = $geom->out('ewkt');
79
+	pg_query($connection, "INSERT INTO $table (name, type, geom) values ('$name', '$type', ST_GeomFromEWKT('$insert_string'))");
80 80
   }
81 81
 }
82 82
 
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -9,12 +9,12 @@  discard block
 block discarded – undo
9 9
   include_once('../geoPHP.inc');
10 10
   
11 11
   // Your database test table should contain 3 columns: name (text), type (text), geom (geometry)
12
-  $host =     'localhost';
12
+  $host = 'localhost';
13 13
   $database = 'phayes';
14
-  $table =    'test';
15
-  $column =   'geom';
16
-  $user =     'phayes';
17
-  $pass =     'supersecret';
14
+  $table = 'test';
15
+  $column = 'geom';
16
+  $user = 'phayes';
17
+  $pass = 'supersecret';
18 18
   
19 19
   $connection = pg_connect("host=$host dbname=$database user=$user password=$pass");
20 20
   
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
25 25
   // ----------------------------
26 26
   
27 27
   foreach (scandir('./input') as $file) {
28
-    $parts = explode('.',$file);
28
+    $parts = explode('.', $file);
29 29
     if ($parts[0]) {
30 30
       $name = $parts[0];
31 31
       $format = $parts[1];
@@ -58,7 +58,7 @@  discard block
 block discarded – undo
58 58
   // SELECT and INSERT directly, with no wrapping functions
59 59
   $result = pg_fetch_all(pg_query($connection, "SELECT geom as geom FROM $table WHERE name='$name'"));
60 60
   foreach ($result as $item) {
61
-    $wkb = pack('H*',$item['geom']);   // Unpacking the hex blob
61
+    $wkb = pack('H*', $item['geom']); // Unpacking the hex blob
62 62
     $geom = geoPHP::load($wkb, $format); // We now have a geoPHP Geometry
63 63
   
64 64
     // Let's re-insert directly into postGIS
Please login to merge, or discard this patch.
require/libs/geoPHP/tests/test.php 4 patches
Doc Comments   +6 added lines patch added patch discarded remove patch
@@ -112,6 +112,9 @@  discard block
 block discarded – undo
112 112
   $geometry->m();
113 113
 }
114 114
 
115
+/**
116
+ * @param string $input
117
+ */
115 118
 function test_adapters($geometry, $format, $input) {
116 119
   // Test adapter output and input. Do a round-trip and re-test
117 120
   foreach (geoPHP::getAdapterMap() as $adapter_key => $adapter_class) {
@@ -234,6 +237,9 @@  discard block
 block discarded – undo
234 237
   }
235 238
 }
236 239
 
240
+/**
241
+ * @param string $value
242
+ */
237 243
 function test_detection($value, $format, $file) {
238 244
   $detected = geoPHP::detectFormat($value);
239 245
   if ($detected != $format) {
Please login to merge, or discard this patch.
Indentation   +106 added lines, -106 removed lines patch added patch discarded remove patch
@@ -11,24 +11,24 @@  discard block
 block discarded – undo
11 11
   include_once('../geoPHP.inc');
12 12
 
13 13
   if (geoPHP::geosInstalled()) {
14
-    print "GEOS is installed.\n";
14
+	print "GEOS is installed.\n";
15 15
   }
16 16
   else {
17
-    print "GEOS is not installed.\n";
17
+	print "GEOS is not installed.\n";
18 18
   }
19 19
 
20 20
   foreach (scandir('./input') as $file) {
21
-    $parts = explode('.',$file);
22
-    if ($parts[0]) {
23
-      $format = $parts[1];
24
-      $value = file_get_contents('./input/'.$file);
25
-      print '---- Testing '.$file."\n";
26
-      $geometry = geoPHP::load($value, $format);
27
-      test_adapters($geometry, $format, $value);
28
-      test_methods($geometry);
29
-      test_geometry($geometry);
30
-      test_detection($value, $format, $file);
31
-    }
21
+	$parts = explode('.',$file);
22
+	if ($parts[0]) {
23
+	  $format = $parts[1];
24
+	  $value = file_get_contents('./input/'.$file);
25
+	  print '---- Testing '.$file."\n";
26
+	  $geometry = geoPHP::load($value, $format);
27
+	  test_adapters($geometry, $format, $value);
28
+	  test_methods($geometry);
29
+	  test_geometry($geometry);
30
+	  test_detection($value, $format, $file);
31
+	}
32 32
   }
33 33
   print "Testing Done!";
34 34
 }
@@ -115,21 +115,21 @@  discard block
 block discarded – undo
115 115
 function test_adapters($geometry, $format, $input) {
116 116
   // Test adapter output and input. Do a round-trip and re-test
117 117
   foreach (geoPHP::getAdapterMap() as $adapter_key => $adapter_class) {
118
-    if ($adapter_key != 'google_geocode') { //Don't test google geocoder regularily. Uncomment to test
119
-      $output = $geometry->out($adapter_key);
120
-      if ($output) {
121
-        $adapter_loader = new $adapter_class();
122
-        $test_geom_1 = $adapter_loader->read($output);
123
-        $test_geom_2 = $adapter_loader->read($test_geom_1->out($adapter_key));
124
-
125
-        if ($test_geom_1->out('wkt') != $test_geom_2->out('wkt')) {
126
-          print "Mismatched adapter output in ".$adapter_class."\n";
127
-        }
128
-      }
129
-      else {
130
-        print "Empty output on "  . $adapter_key . "\n";
131
-      }
132
-    }
118
+	if ($adapter_key != 'google_geocode') { //Don't test google geocoder regularily. Uncomment to test
119
+	  $output = $geometry->out($adapter_key);
120
+	  if ($output) {
121
+		$adapter_loader = new $adapter_class();
122
+		$test_geom_1 = $adapter_loader->read($output);
123
+		$test_geom_2 = $adapter_loader->read($test_geom_1->out($adapter_key));
124
+
125
+		if ($test_geom_1->out('wkt') != $test_geom_2->out('wkt')) {
126
+		  print "Mismatched adapter output in ".$adapter_class."\n";
127
+		}
128
+	  }
129
+	  else {
130
+		print "Empty output on "  . $adapter_key . "\n";
131
+	  }
132
+	}
133 133
   }
134 134
 
135 135
   // Test to make sure adapter work the same wether GEOS is ON or OFF
@@ -137,30 +137,30 @@  discard block
 block discarded – undo
137 137
   if (!geoPHP::geosInstalled()) return;
138 138
 
139 139
   foreach (geoPHP::getAdapterMap() as $adapter_key => $adapter_class) {
140
-    if ($adapter_key != 'google_geocode') { //Don't test google geocoder regularily. Uncomment to test
141
-      // Turn GEOS on
142
-      geoPHP::geosInstalled(TRUE);
140
+	if ($adapter_key != 'google_geocode') { //Don't test google geocoder regularily. Uncomment to test
141
+	  // Turn GEOS on
142
+	  geoPHP::geosInstalled(TRUE);
143 143
 
144
-      $output = $geometry->out($adapter_key);
145
-      if ($output) {
146
-        $adapter_loader = new $adapter_class();
144
+	  $output = $geometry->out($adapter_key);
145
+	  if ($output) {
146
+		$adapter_loader = new $adapter_class();
147 147
 
148
-        $test_geom_1 = $adapter_loader->read($output);
148
+		$test_geom_1 = $adapter_loader->read($output);
149 149
 
150
-        // Turn GEOS off
151
-        geoPHP::geosInstalled(FALSE);
150
+		// Turn GEOS off
151
+		geoPHP::geosInstalled(FALSE);
152 152
 
153
-        $test_geom_2 = $adapter_loader->read($output);
153
+		$test_geom_2 = $adapter_loader->read($output);
154 154
 
155
-        // Turn GEOS back On
156
-        geoPHP::geosInstalled(TRUE);
155
+		// Turn GEOS back On
156
+		geoPHP::geosInstalled(TRUE);
157 157
 
158
-        // Check to make sure a both are the same with geos and without
159
-        if ($test_geom_1->out('wkt') != $test_geom_2->out('wkt')) {
160
-          print "Mismatched adapter output between GEOS and NORM in ".$adapter_class."\n";
161
-        }
162
-      }
163
-    }
158
+		// Check to make sure a both are the same with geos and without
159
+		if ($test_geom_1->out('wkt') != $test_geom_2->out('wkt')) {
160
+		  print "Mismatched adapter output between GEOS and NORM in ".$adapter_class."\n";
161
+		}
162
+	  }
163
+	}
164 164
   }
165 165
 }
166 166
 
@@ -170,75 +170,75 @@  discard block
 block discarded – undo
170 170
   if (!geoPHP::geosInstalled()) return;
171 171
 
172 172
   $methods = array(
173
-    //'boundary', //@@TODO: Uncomment this and fix errors
174
-    'envelope',   //@@TODO: Testing reveales errors in this method -- POINT vs. POLYGON
175
-    'getBBox',
176
-    'x',
177
-    'y',
178
-    'startPoint',
179
-    'endPoint',
180
-    'isRing',
181
-    'isClosed',
182
-    'numPoints',
173
+	//'boundary', //@@TODO: Uncomment this and fix errors
174
+	'envelope',   //@@TODO: Testing reveales errors in this method -- POINT vs. POLYGON
175
+	'getBBox',
176
+	'x',
177
+	'y',
178
+	'startPoint',
179
+	'endPoint',
180
+	'isRing',
181
+	'isClosed',
182
+	'numPoints',
183 183
   );
184 184
 
185 185
   foreach ($methods as $method) {
186
-    // Turn GEOS on
187
-    geoPHP::geosInstalled(TRUE);
188
-    $geos_result = $geometry->$method();
189
-
190
-    // Turn GEOS off
191
-    geoPHP::geosInstalled(FALSE);
192
-    $norm_result = $geometry->$method();
193
-
194
-    // Turn GEOS back On
195
-    geoPHP::geosInstalled(TRUE);
196
-
197
-    $geos_type = gettype($geos_result);
198
-    $norm_type = gettype($norm_result);
199
-
200
-    if ($geos_type != $norm_type) {
201
-      print 'Type mismatch on '.$method."\n";
202
-      continue;
203
-    }
204
-
205
-    // Now check base on type
206
-    if ($geos_type == 'object') {
207
-      $haus_dist = $geos_result->hausdorffDistance(geoPHP::load($norm_result->out('wkt'),'wkt'));
208
-
209
-      // Get the length of the diagonal of the bbox - this is used to scale the haustorff distance
210
-      // Using Pythagorean theorem
211
-      $bb = $geos_result->getBBox();
212
-      $scale = sqrt((($bb['maxy'] - $bb['miny'])^2) + (($bb['maxx'] - $bb['minx'])^2));
213
-
214
-      // The difference in the output of GEOS and native-PHP methods should be less than 0.5 scaled haustorff units
215
-      if ($haus_dist / $scale > 0.5) {
216
-        print 'Output mismatch on '.$method.":\n";
217
-        print 'GEOS : '.$geos_result->out('wkt')."\n";
218
-        print 'NORM : '.$norm_result->out('wkt')."\n";
219
-        continue;
220
-      }
221
-    }
222
-
223
-    if ($geos_type == 'boolean' || $geos_type == 'string') {
224
-      if ($geos_result !== $norm_result) {
225
-        print 'Output mismatch on '.$method.":\n";
226
-        print 'GEOS : '.(string) $geos_result."\n";
227
-        print 'NORM : '.(string) $norm_result."\n";
228
-        continue;
229
-      }
230
-    }
231
-
232
-    //@@TODO: Run tests for output of types arrays and float
233
-    //@@TODO: centroid function is non-compliant for collections and strings
186
+	// Turn GEOS on
187
+	geoPHP::geosInstalled(TRUE);
188
+	$geos_result = $geometry->$method();
189
+
190
+	// Turn GEOS off
191
+	geoPHP::geosInstalled(FALSE);
192
+	$norm_result = $geometry->$method();
193
+
194
+	// Turn GEOS back On
195
+	geoPHP::geosInstalled(TRUE);
196
+
197
+	$geos_type = gettype($geos_result);
198
+	$norm_type = gettype($norm_result);
199
+
200
+	if ($geos_type != $norm_type) {
201
+	  print 'Type mismatch on '.$method."\n";
202
+	  continue;
203
+	}
204
+
205
+	// Now check base on type
206
+	if ($geos_type == 'object') {
207
+	  $haus_dist = $geos_result->hausdorffDistance(geoPHP::load($norm_result->out('wkt'),'wkt'));
208
+
209
+	  // Get the length of the diagonal of the bbox - this is used to scale the haustorff distance
210
+	  // Using Pythagorean theorem
211
+	  $bb = $geos_result->getBBox();
212
+	  $scale = sqrt((($bb['maxy'] - $bb['miny'])^2) + (($bb['maxx'] - $bb['minx'])^2));
213
+
214
+	  // The difference in the output of GEOS and native-PHP methods should be less than 0.5 scaled haustorff units
215
+	  if ($haus_dist / $scale > 0.5) {
216
+		print 'Output mismatch on '.$method.":\n";
217
+		print 'GEOS : '.$geos_result->out('wkt')."\n";
218
+		print 'NORM : '.$norm_result->out('wkt')."\n";
219
+		continue;
220
+	  }
221
+	}
222
+
223
+	if ($geos_type == 'boolean' || $geos_type == 'string') {
224
+	  if ($geos_result !== $norm_result) {
225
+		print 'Output mismatch on '.$method.":\n";
226
+		print 'GEOS : '.(string) $geos_result."\n";
227
+		print 'NORM : '.(string) $norm_result."\n";
228
+		continue;
229
+	  }
230
+	}
231
+
232
+	//@@TODO: Run tests for output of types arrays and float
233
+	//@@TODO: centroid function is non-compliant for collections and strings
234 234
   }
235 235
 }
236 236
 
237 237
 function test_detection($value, $format, $file) {
238 238
   $detected = geoPHP::detectFormat($value);
239 239
   if ($detected != $format) {
240
-    if ($detected) print 'detected as ' . $detected . "\n";
241
-    else print "not detected\n";
240
+	if ($detected) print 'detected as ' . $detected . "\n";
241
+	else print "not detected\n";
242 242
   }
243 243
   // Make sure it loads using auto-detect
244 244
   geoPHP::load($value);
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
   }
19 19
 
20 20
   foreach (scandir('./input') as $file) {
21
-    $parts = explode('.',$file);
21
+    $parts = explode('.', $file);
22 22
     if ($parts[0]) {
23 23
       $format = $parts[1];
24 24
       $value = file_get_contents('./input/'.$file);
@@ -88,7 +88,7 @@  discard block
 block discarded – undo
88 88
   $geometry->difference($geometry);
89 89
   $geometry->symDifference($geometry);
90 90
   $geometry->union($geometry);
91
-  $geometry->simplify(0);// @@TODO: Adjust this once we can deal with empty geometries
91
+  $geometry->simplify(0); // @@TODO: Adjust this once we can deal with empty geometries
92 92
   $geometry->disjoint($geometry);
93 93
   $geometry->touches($geometry);
94 94
   $geometry->intersects($geometry);
@@ -127,7 +127,7 @@  discard block
 block discarded – undo
127 127
         }
128 128
       }
129 129
       else {
130
-        print "Empty output on "  . $adapter_key . "\n";
130
+        print "Empty output on ".$adapter_key."\n";
131 131
       }
132 132
     }
133 133
   }
@@ -171,7 +171,7 @@  discard block
 block discarded – undo
171 171
 
172 172
   $methods = array(
173 173
     //'boundary', //@@TODO: Uncomment this and fix errors
174
-    'envelope',   //@@TODO: Testing reveales errors in this method -- POINT vs. POLYGON
174
+    'envelope', //@@TODO: Testing reveales errors in this method -- POINT vs. POLYGON
175 175
     'getBBox',
176 176
     'x',
177 177
     'y',
@@ -204,7 +204,7 @@  discard block
 block discarded – undo
204 204
 
205 205
     // Now check base on type
206 206
     if ($geos_type == 'object') {
207
-      $haus_dist = $geos_result->hausdorffDistance(geoPHP::load($norm_result->out('wkt'),'wkt'));
207
+      $haus_dist = $geos_result->hausdorffDistance(geoPHP::load($norm_result->out('wkt'), 'wkt'));
208 208
 
209 209
       // Get the length of the diagonal of the bbox - this is used to scale the haustorff distance
210 210
       // Using Pythagorean theorem
@@ -212,7 +212,7 @@  discard block
 block discarded – undo
212 212
       $scale = sqrt((($bb['maxy'] - $bb['miny'])^2) + (($bb['maxx'] - $bb['minx'])^2));
213 213
 
214 214
       // The difference in the output of GEOS and native-PHP methods should be less than 0.5 scaled haustorff units
215
-      if ($haus_dist / $scale > 0.5) {
215
+      if ($haus_dist/$scale > 0.5) {
216 216
         print 'Output mismatch on '.$method.":\n";
217 217
         print 'GEOS : '.$geos_result->out('wkt')."\n";
218 218
         print 'NORM : '.$norm_result->out('wkt')."\n";
@@ -237,7 +237,7 @@  discard block
 block discarded – undo
237 237
 function test_detection($value, $format, $file) {
238 238
   $detected = geoPHP::detectFormat($value);
239 239
   if ($detected != $format) {
240
-    if ($detected) print 'detected as ' . $detected . "\n";
240
+    if ($detected) print 'detected as '.$detected."\n";
241 241
     else print "not detected\n";
242 242
   }
243 243
   // Make sure it loads using auto-detect
Please login to merge, or discard this patch.
Braces   +13 added lines, -8 removed lines patch added patch discarded remove patch
@@ -12,8 +12,7 @@  discard block
 block discarded – undo
12 12
 
13 13
   if (geoPHP::geosInstalled()) {
14 14
     print "GEOS is installed.\n";
15
-  }
16
-  else {
15
+  } else {
17 16
     print "GEOS is not installed.\n";
18 17
   }
19 18
 
@@ -125,8 +124,7 @@  discard block
 block discarded – undo
125 124
         if ($test_geom_1->out('wkt') != $test_geom_2->out('wkt')) {
126 125
           print "Mismatched adapter output in ".$adapter_class."\n";
127 126
         }
128
-      }
129
-      else {
127
+      } else {
130 128
         print "Empty output on "  . $adapter_key . "\n";
131 129
       }
132 130
     }
@@ -134,7 +132,9 @@  discard block
 block discarded – undo
134 132
 
135 133
   // Test to make sure adapter work the same wether GEOS is ON or OFF
136 134
   // Cannot test methods if GEOS is not intstalled
137
-  if (!geoPHP::geosInstalled()) return;
135
+  if (!geoPHP::geosInstalled()) {
136
+  	return;
137
+  }
138 138
 
139 139
   foreach (geoPHP::getAdapterMap() as $adapter_key => $adapter_class) {
140 140
     if ($adapter_key != 'google_geocode') { //Don't test google geocoder regularily. Uncomment to test
@@ -167,7 +167,9 @@  discard block
 block discarded – undo
167 167
 
168 168
 function test_methods($geometry) {
169 169
   // Cannot test methods if GEOS is not intstalled
170
-  if (!geoPHP::geosInstalled()) return;
170
+  if (!geoPHP::geosInstalled()) {
171
+  	return;
172
+  }
171 173
 
172 174
   $methods = array(
173 175
     //'boundary', //@@TODO: Uncomment this and fix errors
@@ -237,8 +239,11 @@  discard block
 block discarded – undo
237 239
 function test_detection($value, $format, $file) {
238 240
   $detected = geoPHP::detectFormat($value);
239 241
   if ($detected != $format) {
240
-    if ($detected) print 'detected as ' . $detected . "\n";
241
-    else print "not detected\n";
242
+    if ($detected) {
243
+    	print 'detected as ' . $detected . "\n";
244
+    } else {
245
+    	print "not detected\n";
246
+    }
242 247
   }
243 248
   // Make sure it loads using auto-detect
244 249
   geoPHP::load($value);
Please login to merge, or discard this patch.
require/libs/geoPHP/tests/tests/methodsTest.php 4 patches
Doc Comments   +4 added lines patch added patch discarded remove patch
@@ -58,6 +58,10 @@
 block discarded – undo
58 58
     }
59 59
   }
60 60
 
61
+  /**
62
+   * @param string $method_name
63
+   * @param string|null $argument
64
+   */
61 65
   function _methods_tester($geometry, $method_name, $argument) {
62 66
 
63 67
     if (!method_exists($geometry, $method_name)) {
Please login to merge, or discard this patch.
Indentation   +328 added lines, -328 removed lines patch added patch discarded remove patch
@@ -9,357 +9,357 @@
 block discarded – undo
9 9
   }
10 10
 
11 11
   function testMethods() {
12
-    foreach (scandir('./input') as $file) {
13
-      $parts = explode('.',$file);
14
-      if ($parts[0]) {
15
-        $format = $parts[1];
16
-        $value = file_get_contents('./input/'.$file);
17
-        $geometry = geoPHP::load($value, $format);
12
+	foreach (scandir('./input') as $file) {
13
+	  $parts = explode('.',$file);
14
+	  if ($parts[0]) {
15
+		$format = $parts[1];
16
+		$value = file_get_contents('./input/'.$file);
17
+		$geometry = geoPHP::load($value, $format);
18 18
 
19
-        $methods = array(
20
-          array('name' => 'area'),
21
-          array('name' => 'boundary'),
22
-          array('name' => 'getBBox'),
23
-          array('name' => 'centroid'),
24
-          array('name' => 'length'),
25
-          array('name' => 'greatCircleLength'),
26
-          array('name' => 'haversineLength'),
27
-          array('name' => 'y'),
28
-          array('name' => 'x'),
29
-          array('name' => 'numGeometries'),
30
-          array('name' => 'geometryN', 'argument' => '1'),
31
-          array('name' => 'startPoint'),
32
-          array('name' => 'endPoint'),
33
-          array('name' => 'isRing'),
34
-          array('name' => 'isClosed'),
35
-          array('name' => 'numPoints'),
36
-          array('name' => 'pointN', 'argument' => '1'),
37
-          array('name' => 'exteriorRing'),
38
-          array('name' => 'numInteriorRings'),
39
-          array('name' => 'interiorRingN', 'argument' => '1'),
40
-          array('name' => 'dimension'),
41
-          array('name' => 'geometryType'),
42
-          array('name' => 'SRID'),
43
-          array('name' => 'setSRID', 'argument' => '4326'),
44
-        );
19
+		$methods = array(
20
+		  array('name' => 'area'),
21
+		  array('name' => 'boundary'),
22
+		  array('name' => 'getBBox'),
23
+		  array('name' => 'centroid'),
24
+		  array('name' => 'length'),
25
+		  array('name' => 'greatCircleLength'),
26
+		  array('name' => 'haversineLength'),
27
+		  array('name' => 'y'),
28
+		  array('name' => 'x'),
29
+		  array('name' => 'numGeometries'),
30
+		  array('name' => 'geometryN', 'argument' => '1'),
31
+		  array('name' => 'startPoint'),
32
+		  array('name' => 'endPoint'),
33
+		  array('name' => 'isRing'),
34
+		  array('name' => 'isClosed'),
35
+		  array('name' => 'numPoints'),
36
+		  array('name' => 'pointN', 'argument' => '1'),
37
+		  array('name' => 'exteriorRing'),
38
+		  array('name' => 'numInteriorRings'),
39
+		  array('name' => 'interiorRingN', 'argument' => '1'),
40
+		  array('name' => 'dimension'),
41
+		  array('name' => 'geometryType'),
42
+		  array('name' => 'SRID'),
43
+		  array('name' => 'setSRID', 'argument' => '4326'),
44
+		);
45 45
 
46
-        foreach($methods as $method) {
47
-          $argument = NULL;
48
-          $method_name = $method['name'];
49
-          if (isset($method['argument'])) {
50
-            $argument = $method['argument'];
51
-          }
46
+		foreach($methods as $method) {
47
+		  $argument = NULL;
48
+		  $method_name = $method['name'];
49
+		  if (isset($method['argument'])) {
50
+			$argument = $method['argument'];
51
+		  }
52 52
 
53
-          $this->_methods_tester($geometry, $method_name, $argument);
54
-        }
53
+		  $this->_methods_tester($geometry, $method_name, $argument);
54
+		}
55 55
 
56
-        $this->_methods_tester_with_geos($geometry);
57
-      }
58
-    }
56
+		$this->_methods_tester_with_geos($geometry);
57
+	  }
58
+	}
59 59
   }
60 60
 
61 61
   function _methods_tester($geometry, $method_name, $argument) {
62 62
 
63
-    if (!method_exists($geometry, $method_name)) {
64
-      $this->fail("Method ".$method_name.'() doesn\'t exists.');
65
-      return;
66
-    }
63
+	if (!method_exists($geometry, $method_name)) {
64
+	  $this->fail("Method ".$method_name.'() doesn\'t exists.');
65
+	  return;
66
+	}
67 67
 
68
-    switch ($method_name) {
69
-      case 'y':
70
-      case 'x':
71
-        if ($geometry->geometryType() == 'Point') {
72
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
73
-        }
74
-        if ($geometry->geometryType() == 'LineString') {
75
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
76
-        }
77
-        if ($geometry->geometryType() == 'MultiLineString') {
78
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
79
-        }
80
-        break;
81
-      case 'geometryN':
82
-        if ($geometry->geometryType() == 'Point') {
83
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
84
-        }
85
-        if ($geometry->geometryType() == 'LineString') {
86
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
87
-        }
88
-        if ($geometry->geometryType() == 'MultiLineString') {
89
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
90
-        }
91
-        break;
92
-      case 'startPoint':
93
-        if ($geometry->geometryType() == 'Point') {
94
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
95
-        }
96
-        if ($geometry->geometryType() == 'LineString') {
97
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
98
-        }
99
-        if ($geometry->geometryType() == 'MultiLineString') {
100
-          //TODO: Add a method startPoint() to MultiLineString.
101
-          //$this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
102
-        }
103
-        break;
104
-      case 'endPoint':
105
-        if ($geometry->geometryType() == 'Point') {
106
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
107
-        }
108
-        if ($geometry->geometryType() == 'LineString') {
109
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
110
-        }
111
-        if ($geometry->geometryType() == 'MultiLineString') {
112
-          //TODO: Add a method endPoint() to MultiLineString.
113
-          //$this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
114
-        }
115
-        break;
116
-      case 'isRing':
117
-        if ($geometry->geometryType() == 'Point') {
118
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
119
-        }
120
-        if ($geometry->geometryType() == 'LineString') {
121
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
122
-        }
123
-        if ($geometry->geometryType() == 'MultiLineString') {
124
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
125
-        }
126
-        break;
127
-      case 'isClosed':
128
-        if ($geometry->geometryType() == 'Point') {
129
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
130
-        }
131
-        if ($geometry->geometryType() == 'LineString') {
132
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
133
-        }
134
-        if ($geometry->geometryType() == 'MultiLineString') {
135
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
136
-        }
137
-        break;
138
-      case 'pointN':
139
-        if ($geometry->geometryType() == 'Point') {
140
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
141
-        }
142
-        if ($geometry->geometryType() == 'LineString') {
143
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
144
-        }
145
-        if ($geometry->geometryType() == 'MultiLineString') {
146
-          //TODO: Add a method pointN() to MultiLineString.
147
-          //$this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
148
-        }
149
-        break;
150
-      case 'exteriorRing':
151
-        if ($geometry->geometryType() == 'Point') {
152
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
153
-        }
154
-        if ($geometry->geometryType() == 'LineString') {
155
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
156
-        }
157
-        if ($geometry->geometryType() == 'MultiLineString') {
158
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
159
-        }
160
-        break;
161
-      case 'numInteriorRings':
162
-        if ($geometry->geometryType() == 'Point') {
163
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
164
-        }
165
-        if ($geometry->geometryType() == 'LineString') {
166
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
167
-        }
168
-        if ($geometry->geometryType() == 'MultiLineString') {
169
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
170
-        }
171
-        break;
172
-      case 'interiorRingN':
173
-        if ($geometry->geometryType() == 'Point') {
174
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
175
-        }
176
-        if ($geometry->geometryType() == 'LineString') {
177
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
178
-        }
179
-        if ($geometry->geometryType() == 'MultiLineString') {
180
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
181
-        }
182
-        break;
183
-      case 'SRID':
184
-        if ($geometry->geometryType() == 'Point') {
185
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
186
-        }
187
-        if ($geometry->geometryType() == 'LineString') {
188
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
189
-        }
190
-        if ($geometry->geometryType() == 'MultiLineString') {
191
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
192
-        }
193
-        break;
194
-      case 'getBBox':
195
-        if ($geometry->geometryType() == 'Point') {
196
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
197
-        }
198
-        if ($geometry->geometryType() == 'LineString') {
199
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
200
-        }
201
-        if ($geometry->geometryType() == 'MultiLineString') {
202
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
203
-        }
204
-        break;
205
-      case 'centroid':
206
-        if ($geometry->geometryType() == 'Point') {
207
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
208
-        }
209
-        if ($geometry->geometryType() == 'LineString') {
210
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
211
-        }
212
-        if ($geometry->geometryType() == 'MultiLineString') {
213
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
214
-        }
215
-        break;
216
-      case 'length':
217
-        if ($geometry->geometryType() == 'Point') {
218
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
219
-        }
220
-        if ($geometry->geometryType() == 'LineString') {
221
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
222
-        }
223
-        if ($geometry->geometryType() == 'MultiLineString') {
224
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
225
-        }
226
-        break;
227
-      case 'numGeometries':
228
-        if ($geometry->geometryType() == 'Point') {
229
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
230
-        }
231
-        if ($geometry->geometryType() == 'LineString') {
232
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
233
-        }
234
-        if ($geometry->geometryType() == 'MultiLineString') {
235
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
236
-        }
237
-        break;
238
-      case 'numPoints':
239
-        if ($geometry->geometryType() == 'Point') {
240
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
241
-        }
242
-        if ($geometry->geometryType() == 'LineString') {
243
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
244
-        }
245
-        if ($geometry->geometryType() == 'MultiLineString') {
246
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
247
-        }
248
-        break;
249
-      case 'dimension':
250
-        if ($geometry->geometryType() == 'Point') {
251
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
252
-        }
253
-        if ($geometry->geometryType() == 'LineString') {
254
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
255
-        }
256
-        if ($geometry->geometryType() == 'MultiLineString') {
257
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
258
-        }
259
-        break;
260
-      case 'boundary':
261
-        if ($geometry->geometryType() == 'Point') {
262
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
263
-        }
264
-        if ($geometry->geometryType() == 'LineString') {
265
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
266
-        }
267
-        if ($geometry->geometryType() == 'MultiLineString') {
268
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
269
-        }
270
-        break;
271
-      case 'haversineLength':
272
-        //TODO: Check if output is a float >= 0.
273
-        //TODO: Sometimes haversineLength() returns NAN, needs to check why.
274
-        break;
275
-      case 'greatCircleLength':
276
-      case 'area':
277
-        $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
278
-        break;
279
-      case 'geometryType':
280
-        $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
281
-        break;
282
-      case 'setSRID':
283
-        //TODO: The method setSRID() should return TRUE.
284
-        break;
285
-      default:
286
-        $this->assertTrue($geometry->$method_name($argument), 'Failed on ' . $method_name);
287
-    }
68
+	switch ($method_name) {
69
+	  case 'y':
70
+	  case 'x':
71
+		if ($geometry->geometryType() == 'Point') {
72
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
73
+		}
74
+		if ($geometry->geometryType() == 'LineString') {
75
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
76
+		}
77
+		if ($geometry->geometryType() == 'MultiLineString') {
78
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
79
+		}
80
+		break;
81
+	  case 'geometryN':
82
+		if ($geometry->geometryType() == 'Point') {
83
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
84
+		}
85
+		if ($geometry->geometryType() == 'LineString') {
86
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
87
+		}
88
+		if ($geometry->geometryType() == 'MultiLineString') {
89
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
90
+		}
91
+		break;
92
+	  case 'startPoint':
93
+		if ($geometry->geometryType() == 'Point') {
94
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
95
+		}
96
+		if ($geometry->geometryType() == 'LineString') {
97
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
98
+		}
99
+		if ($geometry->geometryType() == 'MultiLineString') {
100
+		  //TODO: Add a method startPoint() to MultiLineString.
101
+		  //$this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
102
+		}
103
+		break;
104
+	  case 'endPoint':
105
+		if ($geometry->geometryType() == 'Point') {
106
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
107
+		}
108
+		if ($geometry->geometryType() == 'LineString') {
109
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
110
+		}
111
+		if ($geometry->geometryType() == 'MultiLineString') {
112
+		  //TODO: Add a method endPoint() to MultiLineString.
113
+		  //$this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
114
+		}
115
+		break;
116
+	  case 'isRing':
117
+		if ($geometry->geometryType() == 'Point') {
118
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
119
+		}
120
+		if ($geometry->geometryType() == 'LineString') {
121
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
122
+		}
123
+		if ($geometry->geometryType() == 'MultiLineString') {
124
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
125
+		}
126
+		break;
127
+	  case 'isClosed':
128
+		if ($geometry->geometryType() == 'Point') {
129
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
130
+		}
131
+		if ($geometry->geometryType() == 'LineString') {
132
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
133
+		}
134
+		if ($geometry->geometryType() == 'MultiLineString') {
135
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
136
+		}
137
+		break;
138
+	  case 'pointN':
139
+		if ($geometry->geometryType() == 'Point') {
140
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
141
+		}
142
+		if ($geometry->geometryType() == 'LineString') {
143
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
144
+		}
145
+		if ($geometry->geometryType() == 'MultiLineString') {
146
+		  //TODO: Add a method pointN() to MultiLineString.
147
+		  //$this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
148
+		}
149
+		break;
150
+	  case 'exteriorRing':
151
+		if ($geometry->geometryType() == 'Point') {
152
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
153
+		}
154
+		if ($geometry->geometryType() == 'LineString') {
155
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
156
+		}
157
+		if ($geometry->geometryType() == 'MultiLineString') {
158
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
159
+		}
160
+		break;
161
+	  case 'numInteriorRings':
162
+		if ($geometry->geometryType() == 'Point') {
163
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
164
+		}
165
+		if ($geometry->geometryType() == 'LineString') {
166
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
167
+		}
168
+		if ($geometry->geometryType() == 'MultiLineString') {
169
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
170
+		}
171
+		break;
172
+	  case 'interiorRingN':
173
+		if ($geometry->geometryType() == 'Point') {
174
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
175
+		}
176
+		if ($geometry->geometryType() == 'LineString') {
177
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
178
+		}
179
+		if ($geometry->geometryType() == 'MultiLineString') {
180
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
181
+		}
182
+		break;
183
+	  case 'SRID':
184
+		if ($geometry->geometryType() == 'Point') {
185
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
186
+		}
187
+		if ($geometry->geometryType() == 'LineString') {
188
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
189
+		}
190
+		if ($geometry->geometryType() == 'MultiLineString') {
191
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
192
+		}
193
+		break;
194
+	  case 'getBBox':
195
+		if ($geometry->geometryType() == 'Point') {
196
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
197
+		}
198
+		if ($geometry->geometryType() == 'LineString') {
199
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
200
+		}
201
+		if ($geometry->geometryType() == 'MultiLineString') {
202
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
203
+		}
204
+		break;
205
+	  case 'centroid':
206
+		if ($geometry->geometryType() == 'Point') {
207
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
208
+		}
209
+		if ($geometry->geometryType() == 'LineString') {
210
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
211
+		}
212
+		if ($geometry->geometryType() == 'MultiLineString') {
213
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
214
+		}
215
+		break;
216
+	  case 'length':
217
+		if ($geometry->geometryType() == 'Point') {
218
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
219
+		}
220
+		if ($geometry->geometryType() == 'LineString') {
221
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
222
+		}
223
+		if ($geometry->geometryType() == 'MultiLineString') {
224
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
225
+		}
226
+		break;
227
+	  case 'numGeometries':
228
+		if ($geometry->geometryType() == 'Point') {
229
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
230
+		}
231
+		if ($geometry->geometryType() == 'LineString') {
232
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
233
+		}
234
+		if ($geometry->geometryType() == 'MultiLineString') {
235
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
236
+		}
237
+		break;
238
+	  case 'numPoints':
239
+		if ($geometry->geometryType() == 'Point') {
240
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
241
+		}
242
+		if ($geometry->geometryType() == 'LineString') {
243
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
244
+		}
245
+		if ($geometry->geometryType() == 'MultiLineString') {
246
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
247
+		}
248
+		break;
249
+	  case 'dimension':
250
+		if ($geometry->geometryType() == 'Point') {
251
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
252
+		}
253
+		if ($geometry->geometryType() == 'LineString') {
254
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
255
+		}
256
+		if ($geometry->geometryType() == 'MultiLineString') {
257
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
258
+		}
259
+		break;
260
+	  case 'boundary':
261
+		if ($geometry->geometryType() == 'Point') {
262
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
263
+		}
264
+		if ($geometry->geometryType() == 'LineString') {
265
+		  $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
266
+		}
267
+		if ($geometry->geometryType() == 'MultiLineString') {
268
+		  $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
269
+		}
270
+		break;
271
+	  case 'haversineLength':
272
+		//TODO: Check if output is a float >= 0.
273
+		//TODO: Sometimes haversineLength() returns NAN, needs to check why.
274
+		break;
275
+	  case 'greatCircleLength':
276
+	  case 'area':
277
+		$this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
278
+		break;
279
+	  case 'geometryType':
280
+		$this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
281
+		break;
282
+	  case 'setSRID':
283
+		//TODO: The method setSRID() should return TRUE.
284
+		break;
285
+	  default:
286
+		$this->assertTrue($geometry->$method_name($argument), 'Failed on ' . $method_name);
287
+	}
288 288
 
289 289
   }
290 290
 
291 291
   function _methods_tester_with_geos($geometry) {
292
-    // Cannot test methods if GEOS is not intstalled
293
-    if (!geoPHP::geosInstalled()) return;
292
+	// Cannot test methods if GEOS is not intstalled
293
+	if (!geoPHP::geosInstalled()) return;
294 294
 
295
-    $methods = array(
296
-      //'boundary', //@@TODO: Uncomment this and fix errors
297
-      'envelope',   //@@TODO: Testing reveales errors in this method -- POINT vs. POLYGON
298
-      'getBBox',
299
-      'x',
300
-      'y',
301
-      'startPoint',
302
-      'endPoint',
303
-      'isRing',
304
-      'isClosed',
305
-      'numPoints',
306
-    );
295
+	$methods = array(
296
+	  //'boundary', //@@TODO: Uncomment this and fix errors
297
+	  'envelope',   //@@TODO: Testing reveales errors in this method -- POINT vs. POLYGON
298
+	  'getBBox',
299
+	  'x',
300
+	  'y',
301
+	  'startPoint',
302
+	  'endPoint',
303
+	  'isRing',
304
+	  'isClosed',
305
+	  'numPoints',
306
+	);
307 307
 
308
-    foreach ($methods as $method) {
309
-      // Turn GEOS on
310
-      geoPHP::geosInstalled(TRUE);
311
-      $geos_result = $geometry->$method();
308
+	foreach ($methods as $method) {
309
+	  // Turn GEOS on
310
+	  geoPHP::geosInstalled(TRUE);
311
+	  $geos_result = $geometry->$method();
312 312
 
313
-      // Turn GEOS off
314
-      geoPHP::geosInstalled(FALSE);
315
-      $norm_result = $geometry->$method();
313
+	  // Turn GEOS off
314
+	  geoPHP::geosInstalled(FALSE);
315
+	  $norm_result = $geometry->$method();
316 316
 
317
-      // Turn GEOS back On
318
-      geoPHP::geosInstalled(TRUE);
317
+	  // Turn GEOS back On
318
+	  geoPHP::geosInstalled(TRUE);
319 319
 
320
-      $geos_type = gettype($geos_result);
321
-      $norm_type = gettype($norm_result);
320
+	  $geos_type = gettype($geos_result);
321
+	  $norm_type = gettype($norm_result);
322 322
 
323
-      if ($geos_type != $norm_type) {
324
-        $this->fail('Type mismatch on '.$method);
325
-        $this->dump($geos_type);
326
-        $this->dump($norm_type);
327
-        continue;
328
-      }
323
+	  if ($geos_type != $norm_type) {
324
+		$this->fail('Type mismatch on '.$method);
325
+		$this->dump($geos_type);
326
+		$this->dump($norm_type);
327
+		continue;
328
+	  }
329 329
 
330
-      // Now check base on type
331
-      if ($geos_type == 'object') {
332
-        $haus_dist = $geos_result->hausdorffDistance(geoPHP::load($norm_result->out('wkt'),'wkt'));
330
+	  // Now check base on type
331
+	  if ($geos_type == 'object') {
332
+		$haus_dist = $geos_result->hausdorffDistance(geoPHP::load($norm_result->out('wkt'),'wkt'));
333 333
 
334
-        // Get the length of the diagonal of the bbox - this is used to scale the haustorff distance
335
-        // Using Pythagorean theorem
336
-        $bb = $geos_result->getBBox();
337
-        $scale = sqrt((($bb['maxy'] - $bb['miny'])^2) + (($bb['maxx'] - $bb['minx'])^2));
334
+		// Get the length of the diagonal of the bbox - this is used to scale the haustorff distance
335
+		// Using Pythagorean theorem
336
+		$bb = $geos_result->getBBox();
337
+		$scale = sqrt((($bb['maxy'] - $bb['miny'])^2) + (($bb['maxx'] - $bb['minx'])^2));
338 338
 
339
-        // The difference in the output of GEOS and native-PHP methods should be less than 0.5 scaled haustorff units
340
-        if ($haus_dist / $scale > 0.5) {
341
-          $this->fail('Output mismatch on '.$method);
342
-          $this->dump('GEOS : ');
343
-          $this->dump($geos_result->out('wkt'));
344
-          $this->dump('NORM : ');
345
-          $this->dump($norm_result->out('wkt'));
346
-          continue;
347
-        }
348
-      }
339
+		// The difference in the output of GEOS and native-PHP methods should be less than 0.5 scaled haustorff units
340
+		if ($haus_dist / $scale > 0.5) {
341
+		  $this->fail('Output mismatch on '.$method);
342
+		  $this->dump('GEOS : ');
343
+		  $this->dump($geos_result->out('wkt'));
344
+		  $this->dump('NORM : ');
345
+		  $this->dump($norm_result->out('wkt'));
346
+		  continue;
347
+		}
348
+	  }
349 349
 
350
-      if ($geos_type == 'boolean' || $geos_type == 'string') {
351
-        if ($geos_result !== $norm_result) {
352
-          $this->fail('Output mismatch on '.$method);
353
-          $this->dump('GEOS : ');
354
-          $this->dump((string) $geos_result);
355
-          $this->dump('NORM : ');
356
-          $this->dump((string) $norm_result);
357
-          continue;
358
-        }
359
-      }
350
+	  if ($geos_type == 'boolean' || $geos_type == 'string') {
351
+		if ($geos_result !== $norm_result) {
352
+		  $this->fail('Output mismatch on '.$method);
353
+		  $this->dump('GEOS : ');
354
+		  $this->dump((string) $geos_result);
355
+		  $this->dump('NORM : ');
356
+		  $this->dump((string) $norm_result);
357
+		  continue;
358
+		}
359
+	  }
360 360
 
361
-      //@@TODO: Run tests for output of types arrays and float
362
-      //@@TODO: centroid function is non-compliant for collections and strings
363
-    }
361
+	  //@@TODO: Run tests for output of types arrays and float
362
+	  //@@TODO: centroid function is non-compliant for collections and strings
363
+	}
364 364
   }
365 365
 }
Please login to merge, or discard this patch.
Spacing   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
 
11 11
   function testMethods() {
12 12
     foreach (scandir('./input') as $file) {
13
-      $parts = explode('.',$file);
13
+      $parts = explode('.', $file);
14 14
       if ($parts[0]) {
15 15
         $format = $parts[1];
16 16
         $value = file_get_contents('./input/'.$file);
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
           array('name' => 'setSRID', 'argument' => '4326'),
44 44
         );
45 45
 
46
-        foreach($methods as $method) {
46
+        foreach ($methods as $method) {
47 47
           $argument = NULL;
48 48
           $method_name = $method['name'];
49 49
           if (isset($method['argument'])) {
@@ -69,32 +69,32 @@  discard block
 block discarded – undo
69 69
       case 'y':
70 70
       case 'x':
71 71
         if ($geometry->geometryType() == 'Point') {
72
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
72
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
73 73
         }
74 74
         if ($geometry->geometryType() == 'LineString') {
75
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
75
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
76 76
         }
77 77
         if ($geometry->geometryType() == 'MultiLineString') {
78
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
78
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
79 79
         }
80 80
         break;
81 81
       case 'geometryN':
82 82
         if ($geometry->geometryType() == 'Point') {
83
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
83
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
84 84
         }
85 85
         if ($geometry->geometryType() == 'LineString') {
86
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
86
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
87 87
         }
88 88
         if ($geometry->geometryType() == 'MultiLineString') {
89
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
89
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
90 90
         }
91 91
         break;
92 92
       case 'startPoint':
93 93
         if ($geometry->geometryType() == 'Point') {
94
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
94
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
95 95
         }
96 96
         if ($geometry->geometryType() == 'LineString') {
97
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
97
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
98 98
         }
99 99
         if ($geometry->geometryType() == 'MultiLineString') {
100 100
           //TODO: Add a method startPoint() to MultiLineString.
@@ -103,10 +103,10 @@  discard block
 block discarded – undo
103 103
         break;
104 104
       case 'endPoint':
105 105
         if ($geometry->geometryType() == 'Point') {
106
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
106
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
107 107
         }
108 108
         if ($geometry->geometryType() == 'LineString') {
109
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
109
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
110 110
         }
111 111
         if ($geometry->geometryType() == 'MultiLineString') {
112 112
           //TODO: Add a method endPoint() to MultiLineString.
@@ -115,32 +115,32 @@  discard block
 block discarded – undo
115 115
         break;
116 116
       case 'isRing':
117 117
         if ($geometry->geometryType() == 'Point') {
118
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
118
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
119 119
         }
120 120
         if ($geometry->geometryType() == 'LineString') {
121
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
121
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
122 122
         }
123 123
         if ($geometry->geometryType() == 'MultiLineString') {
124
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
124
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
125 125
         }
126 126
         break;
127 127
       case 'isClosed':
128 128
         if ($geometry->geometryType() == 'Point') {
129
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
129
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
130 130
         }
131 131
         if ($geometry->geometryType() == 'LineString') {
132
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
132
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
133 133
         }
134 134
         if ($geometry->geometryType() == 'MultiLineString') {
135
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
135
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
136 136
         }
137 137
         break;
138 138
       case 'pointN':
139 139
         if ($geometry->geometryType() == 'Point') {
140
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
140
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
141 141
         }
142 142
         if ($geometry->geometryType() == 'LineString') {
143
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
143
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
144 144
         }
145 145
         if ($geometry->geometryType() == 'MultiLineString') {
146 146
           //TODO: Add a method pointN() to MultiLineString.
@@ -149,123 +149,123 @@  discard block
 block discarded – undo
149 149
         break;
150 150
       case 'exteriorRing':
151 151
         if ($geometry->geometryType() == 'Point') {
152
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
152
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
153 153
         }
154 154
         if ($geometry->geometryType() == 'LineString') {
155
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
155
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
156 156
         }
157 157
         if ($geometry->geometryType() == 'MultiLineString') {
158
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
158
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
159 159
         }
160 160
         break;
161 161
       case 'numInteriorRings':
162 162
         if ($geometry->geometryType() == 'Point') {
163
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
163
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
164 164
         }
165 165
         if ($geometry->geometryType() == 'LineString') {
166
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
166
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
167 167
         }
168 168
         if ($geometry->geometryType() == 'MultiLineString') {
169
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
169
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
170 170
         }
171 171
         break;
172 172
       case 'interiorRingN':
173 173
         if ($geometry->geometryType() == 'Point') {
174
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
174
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
175 175
         }
176 176
         if ($geometry->geometryType() == 'LineString') {
177
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
177
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
178 178
         }
179 179
         if ($geometry->geometryType() == 'MultiLineString') {
180
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
180
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
181 181
         }
182 182
         break;
183 183
       case 'SRID':
184 184
         if ($geometry->geometryType() == 'Point') {
185
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
185
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
186 186
         }
187 187
         if ($geometry->geometryType() == 'LineString') {
188
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
188
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
189 189
         }
190 190
         if ($geometry->geometryType() == 'MultiLineString') {
191
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
191
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
192 192
         }
193 193
         break;
194 194
       case 'getBBox':
195 195
         if ($geometry->geometryType() == 'Point') {
196
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
196
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
197 197
         }
198 198
         if ($geometry->geometryType() == 'LineString') {
199
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
199
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
200 200
         }
201 201
         if ($geometry->geometryType() == 'MultiLineString') {
202
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
202
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
203 203
         }
204 204
         break;
205 205
       case 'centroid':
206 206
         if ($geometry->geometryType() == 'Point') {
207
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
207
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
208 208
         }
209 209
         if ($geometry->geometryType() == 'LineString') {
210
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
210
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
211 211
         }
212 212
         if ($geometry->geometryType() == 'MultiLineString') {
213
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
213
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
214 214
         }
215 215
         break;
216 216
       case 'length':
217 217
         if ($geometry->geometryType() == 'Point') {
218
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
218
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
219 219
         }
220 220
         if ($geometry->geometryType() == 'LineString') {
221
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
221
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
222 222
         }
223 223
         if ($geometry->geometryType() == 'MultiLineString') {
224
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
224
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
225 225
         }
226 226
         break;
227 227
       case 'numGeometries':
228 228
         if ($geometry->geometryType() == 'Point') {
229
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
229
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
230 230
         }
231 231
         if ($geometry->geometryType() == 'LineString') {
232
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
232
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
233 233
         }
234 234
         if ($geometry->geometryType() == 'MultiLineString') {
235
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
235
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
236 236
         }
237 237
         break;
238 238
       case 'numPoints':
239 239
         if ($geometry->geometryType() == 'Point') {
240
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
240
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
241 241
         }
242 242
         if ($geometry->geometryType() == 'LineString') {
243
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
243
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
244 244
         }
245 245
         if ($geometry->geometryType() == 'MultiLineString') {
246
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
246
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
247 247
         }
248 248
         break;
249 249
       case 'dimension':
250 250
         if ($geometry->geometryType() == 'Point') {
251
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
251
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
252 252
         }
253 253
         if ($geometry->geometryType() == 'LineString') {
254
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
254
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
255 255
         }
256 256
         if ($geometry->geometryType() == 'MultiLineString') {
257
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
257
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
258 258
         }
259 259
         break;
260 260
       case 'boundary':
261 261
         if ($geometry->geometryType() == 'Point') {
262
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
262
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
263 263
         }
264 264
         if ($geometry->geometryType() == 'LineString') {
265
-          $this->assertNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
265
+          $this->assertNull($geometry->$method_name($argument), 'Failed on '.$method_name);
266 266
         }
267 267
         if ($geometry->geometryType() == 'MultiLineString') {
268
-          $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
268
+          $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
269 269
         }
270 270
         break;
271 271
       case 'haversineLength':
@@ -274,16 +274,16 @@  discard block
 block discarded – undo
274 274
         break;
275 275
       case 'greatCircleLength':
276 276
       case 'area':
277
-        $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
277
+        $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
278 278
         break;
279 279
       case 'geometryType':
280
-        $this->assertNotNull($geometry->$method_name($argument), 'Failed on ' . $method_name);
280
+        $this->assertNotNull($geometry->$method_name($argument), 'Failed on '.$method_name);
281 281
         break;
282 282
       case 'setSRID':
283 283
         //TODO: The method setSRID() should return TRUE.
284 284
         break;
285 285
       default:
286
-        $this->assertTrue($geometry->$method_name($argument), 'Failed on ' . $method_name);
286
+        $this->assertTrue($geometry->$method_name($argument), 'Failed on '.$method_name);
287 287
     }
288 288
 
289 289
   }
@@ -294,7 +294,7 @@  discard block
 block discarded – undo
294 294
 
295 295
     $methods = array(
296 296
       //'boundary', //@@TODO: Uncomment this and fix errors
297
-      'envelope',   //@@TODO: Testing reveales errors in this method -- POINT vs. POLYGON
297
+      'envelope', //@@TODO: Testing reveales errors in this method -- POINT vs. POLYGON
298 298
       'getBBox',
299 299
       'x',
300 300
       'y',
@@ -329,7 +329,7 @@  discard block
 block discarded – undo
329 329
 
330 330
       // Now check base on type
331 331
       if ($geos_type == 'object') {
332
-        $haus_dist = $geos_result->hausdorffDistance(geoPHP::load($norm_result->out('wkt'),'wkt'));
332
+        $haus_dist = $geos_result->hausdorffDistance(geoPHP::load($norm_result->out('wkt'), 'wkt'));
333 333
 
334 334
         // Get the length of the diagonal of the bbox - this is used to scale the haustorff distance
335 335
         // Using Pythagorean theorem
@@ -337,7 +337,7 @@  discard block
 block discarded – undo
337 337
         $scale = sqrt((($bb['maxy'] - $bb['miny'])^2) + (($bb['maxx'] - $bb['minx'])^2));
338 338
 
339 339
         // The difference in the output of GEOS and native-PHP methods should be less than 0.5 scaled haustorff units
340
-        if ($haus_dist / $scale > 0.5) {
340
+        if ($haus_dist/$scale > 0.5) {
341 341
           $this->fail('Output mismatch on '.$method);
342 342
           $this->dump('GEOS : ');
343 343
           $this->dump($geos_result->out('wkt'));
Please login to merge, or discard this patch.
Braces   +3 added lines, -1 removed lines patch added patch discarded remove patch
@@ -290,7 +290,9 @@
 block discarded – undo
290 290
 
291 291
   function _methods_tester_with_geos($geometry) {
292 292
     // Cannot test methods if GEOS is not intstalled
293
-    if (!geoPHP::geosInstalled()) return;
293
+    if (!geoPHP::geosInstalled()) {
294
+    	return;
295
+    }
294 296
 
295 297
     $methods = array(
296 298
       //'boundary', //@@TODO: Uncomment this and fix errors
Please login to merge, or discard this patch.
require/libs/uagent/uagent.php 4 patches
Doc Comments   +3 added lines patch added patch discarded remove patch
@@ -122,6 +122,9 @@
 block discarded – undo
122 122
         return self::array_random( empty( $lang ) ? self::$languages : $lang );
123 123
     }
124 124
 
125
+    /**
126
+     * @param string $os
127
+     */
125 128
     private static function get_processor( $os )
126 129
     {
127 130
         return self::array_random( self::$processors[$os] );
Please login to merge, or discard this patch.
Indentation   +342 added lines, -342 removed lines patch added patch discarded remove patch
@@ -8,347 +8,347 @@
 block discarded – undo
8 8
 
9 9
 class UAgent
10 10
 {
11
-    // General token that says the browser is Mozilla compatible, 
12
-    // and is common to almost every browser today.
13
-    const MOZILLA = 'Mozilla/5.0 ';
14
-
15
-    /**
16
-     * Processors by Arch.
17
-     */
18
-    public static $processors = array(
19
-        'lin' => array( 'i686', 'x86_64' ),
20
-        'mac' => array( 'Intel', 'PPC', 'U; Intel', 'U; PPC' ),
21
-        'win' => array( 'foo' )
22
-    );
23
-
24
-    /**
25
-     * Browsers
26
-     * 
27
-     * Weighting is based on market share to determine frequency.
28
-     */
29
-    public static $browsers = array(
30
-        34 => array(
31
-            89 => array( 'chrome', 'win' ),
32
-            9  => array( 'chrome', 'mac' ),
33
-            2  => array( 'chrome', 'lin' )
34
-        ),
35
-        32 => array(
36
-            100 => array( 'iexplorer', 'win' )
37
-        ),
38
-        25 => array(
39
-            83 => array( 'firefox', 'win' ),
40
-            16 => array( 'firefox', 'mac' ),
41
-            1  => array( 'firefox', 'lin' )
42
-        ),
43
-        7 => array(
44
-            95 => array( 'safari', 'mac' ),
45
-            4  => array( 'safari', 'win' ),
46
-            1  => array( 'safari', 'lin' )
47
-        ),
48
-        2 => array(
49
-            91 => array( 'opera', 'win' ),
50
-            6  => array( 'opera', 'lin' ),
51
-            3  => array( 'opera', 'mac' )
52
-        )
53
-    );
54
-
55
-    /**
56
-     * List of Lanuge Culture Codes (ISO 639-1)
57
-     *
58
-     * @see: http://msdn.microsoft.com/en-gb/library/ee825488(v=cs.20).aspx
59
-     */
60
-    public static $languages = array(
61
-        'af-ZA', 'ar-AE', 'ar-BH', 'ar-DZ', 'ar-EG', 'ar-IQ', 'ar-JO', 'ar-KW', 'ar-LB',
62
-        'ar-LY', 'ar-MA', 'ar-OM', 'ar-QA', 'ar-SA', 'ar-SY', 'ar-TN', 'ar-YE', 'be-BY',
63
-        'bg-BG', 'ca-ES', 'cs-CZ', 'Cy-az-AZ', 'Cy-sr-SP', 'Cy-uz-UZ', 'da-DK', 'de-AT',
64
-        'de-CH', 'de-DE', 'de-LI', 'de-LU', 'div-MV', 'el-GR', 'en-AU', 'en-BZ', 'en-CA', 
65
-        'en-CB', 'en-GB', 'en-IE', 'en-JM', 'en-NZ', 'en-PH', 'en-TT', 'en-US', 'en-ZA', 
66
-        'en-ZW', 'es-AR', 'es-BO', 'es-CL', 'es-CO',  'es-CR', 'es-DO', 'es-EC', 'es-ES',
67
-        'es-GT', 'es-HN', 'es-MX', 'es-NI', 'es-PA', 'es-PE', 'es-PR', 'es-PY', 'es-SV',
68
-        'es-UY', 'es-VE', 'et-EE', 'eu-ES', 'fa-IR', 'fi-FI', 'fo-FO', 'fr-BE', 'fr-CA',
69
-        'fr-CH', 'fr-FR', 'fr-LU', 'fr-MC', 'gl-ES', 'gu-IN', 'he-IL', 'hi-IN', 'hr-HR', 
70
-        'hu-HU', 'hy-AM', 'id-ID', 'is-IS', 'it-CH', 'it-IT', 'ja-JP', 'ka-GE', 'kk-KZ',
71
-        'kn-IN', 'kok-IN', 'ko-KR', 'ky-KZ', 'Lt-az-AZ', 'lt-LT', 'Lt-sr-SP', 'Lt-uz-UZ', 
72
-        'lv-LV', 'mk-MK', 'mn-MN', 'mr-IN', 'ms-BN', 'ms-MY', 'nb-NO', 'nl-BE', 'nl-NL', 
73
-        'nn-NO', 'pa-IN', 'pl-PL', 'pt-BR', 'pt-PT', 'ro-RO', 'ru-RU', 'sa-IN', 'sk-SK', 
74
-        'sl-SI', 'sq-AL', 'sv-FI', 'sv-SE', 'sw-KE', 'syr-SY', 'ta-IN', 'te-IN', 'th-TH', 
75
-        'tr-TR', 'tt-RU', 'uk-UA', 'ur-PK', 'vi-VN', 'zh-CHS', 'zh-CHT', 'zh-CN', 'zh-HK', 
76
-        'zh-MO', 'zh-SG', 'zh-TW',   
77
-    );    
78
-
79
-    /**
80
-     * Generate Device Platform
81
-     *
82
-     * Uses a random result with a weighting related to frequencies.
83
-     */
84
-    public static function generate_platform()
85
-    {
86
-        $rand = mt_rand( 1, 100 );
87
-        $sum = 0;
88
-
89
-        foreach ( self::$browsers as $share => $freq_os )
90
-        {
91
-            $sum += $share;
92
-
93
-            if ( $rand <= $sum )
94
-            {
95
-                $rand = mt_rand( 1, 100 );
96
-                $sum = 0;
97
-
98
-                foreach ( $freq_os as $share => $choice )
99
-                {
100
-                    $sum += $share;
101
-
102
-                    if ( $rand <= $sum )
103
-                    {
104
-                        return $choice;
105
-                    }
106
-                }
107
-            }
108
-        }
109
-
110
-        throw new Exception( 'Sum of $browsers frequency is not 100.' );
111
-    }
112
-
113
-    private static function array_random( $array )
114
-    {
115
-        $i = array_rand( $array, 1 );
116
-
117
-        return $array[$i];
118
-    }
119
-
120
-    private static function get_language( $lang = array() )
121
-    {
122
-        return self::array_random( empty( $lang ) ? self::$languages : $lang );
123
-    }
124
-
125
-    private static function get_processor( $os )
126
-    {
127
-        return self::array_random( self::$processors[$os] );
128
-    }
129
-
130
-    private static function get_version_nt()
131
-    {   
132
-        // Win2k (5.0) to Win 7 (6.1).
133
-        return mt_rand( 5, 6 ) . '.' . mt_rand( 0, 1 );
134
-    }
135
-
136
-    private static function get_version_osx()
137
-    {
138
-        return '10_' . mt_rand( 5, 7 ) . '_' . mt_rand( 0, 9 );
139
-    }
140
-
141
-    private static function get_version_webkit()
142
-    {
143
-        return mt_rand( 531, 536 ) . mt_rand( 0, 2 );
144
-    }
145
-
146
-    private static function get_verison_chrome()
147
-    {
148
-        return mt_rand( 13, 15 ) . '.0.' . mt_rand( 800, 899 ) . '.0';
149
-    }
150
-
151
-    private static function get_version_gecko()
152
-    {
153
-        return mt_rand( 17, 31 ) . '.0';
154
-    }
155
-
156
-    private static function get_version_ie()
157
-    {
158
-        return mt_rand( 7, 9 ) . '.0';
159
-    }
160
-
161
-    private static function get_version_trident()
162
-    {
163
-        // IE8 (4.0) to IE11 (7.0).
164
-        return mt_rand( 4, 7 ) . '.0';
165
-    }
166
-
167
-    private static function get_version_net()
168
-    {
169
-        // generic .NET Framework common language run time (CLR) version numbers.
170
-        $frameworks = array(
171
-            '2.0.50727',
172
-            '3.0.4506',
173
-            '3.5.30729',
174
-        );
175
-
176
-        $rev = '.' . mt_rand( 26, 648 );
177
-
178
-        return self::array_random( $frameworks ) . $rev;
179
-    }
180
-
181
-    private static function get_version_safari()
182
-    {
183
-        if ( mt_rand( 0, 1 ) == 0 )
184
-        {
185
-            $ver = mt_rand( 4, 5 ) . '.' . mt_rand( 0, 1 );
186
-        }
187
-        else
188
-        {
189
-            $ver = mt_rand( 4, 5 ) . '.0.' . mt_rand( 1, 5 );
190
-        }
191
-
192
-        return $ver;
193
-    }
194
-
195
-    private static function get_version_opera()
196
-    {
197
-        return mt_rand( 15, 19 ) . '.0.' . mt_rand( 1147, 1284 ) . mt_rand( 49, 100 );
198
-    }
199
-
200
-    /**
201
-     * Opera
202
-     * 
203
-     * @see: http://dev.opera.com/blog/opera-user-agent-strings-opera-15-and-beyond/
204
-     */
205
-    public static function opera( $arch )
206
-    {
207
-        $opera = ' OPR/' . self::get_version_opera();
208
-
209
-        // WebKit Rendering Engine (WebKit = Backend, Safari = Frontend).
210
-        $engine = self::get_version_webkit();
211
-        $webkit = ' AppleWebKit/' . $engine . ' (KHTML, like Gecko)';
212
-        $chrome = ' Chrome/' . self::get_verison_chrome();
213
-        $safari = ' Safari/' . $engine;
214
-
215
-        switch ( $arch )
216
-        {
217
-            case 'lin':
218
-                return '(X11; Linux {proc}) ' . $webkit . $chrome . $safari . $opera;
219
-            case 'mac':
220
-                $osx = self::get_version_osx();
221
-                return '(Macintosh; U; {proc} Mac OS X ' . $osx . ')' . $webkit . $chrome . $safari . $opera;
222
-            case 'win':
223
-                // fall through.
224
-            default:
225
-                $nt = self::get_version_nt();
226
-                return '(Windows NT ' . $nt . '; WOW64) ' . $webkit . $chrome . $safari . $opera;
227
-        }
228
-    }    
229
-
230
-    /**
231
-     * Safari
232
-     *
233
-     */
234
-    public static function safari( $arch )
235
-    {
236
-        $version = ' Version/' . self::get_version_safari();
237
-
238
-        // WebKit Rendering Engine (WebKit = Backend, Safari = Frontend).
239
-        $engine = self::get_version_webkit();
240
-        $webkit = ' AppleWebKit/' . $engine . ' (KHTML, like Gecko)';
241
-        $safari = ' Safari/' . $engine;
242
-
243
-        switch ( $arch )
244
-        {
245
-            case 'mac':
246
-                $osx = self::get_version_osx();
247
-                return '(Macintosh; U; {proc} Mac OS X ' . $osx . '; {lang})' . $webkit . $version . $safari;
248
-            case 'win':
249
-                // fall through.
250
-            default:
251
-                $nt = self::get_version_nt();
252
-                return '(Windows; U; Windows NT ' . $nt . ')' . $webkit . $version . $safari;
253
-        }
254
-
255
-    }
256
-
257
-    /**
258
-     * Internet Explorer
259
-     * 
260
-     * @see: http://msdn.microsoft.com/en-gb/library/ms537503(v=vs.85).aspx
261
-     */
262
-    public static function iexplorer( $arch )
263
-    {
264
-        $nt = self::get_version_nt();
265
-        $ie = self::get_version_ie();
266
-        $trident = self::get_version_trident();
267
-        $net = self::get_version_net();
268
-
269
-        return '(compatible' 
270
-            . '; MSIE ' . $ie 
271
-            . '; Windows NT ' . $nt 
272
-            . '; WOW64' // A 32-bit version of Internet Explorer is running on a 64-bit processor.
273
-            . '; Trident/' . $trident 
274
-            . '; .NET CLR ' . $net
275
-            . ')';
276
-    }
277
-
278
-    /**
279
-     * Firefox User-Agent
280
-     *
281
-     * @see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Gecko_user_agent_string_reference
282
-     */
283
-    public static function firefox( $arch )
284
-    {
285
-        // The release version of Gecko. 
286
-        $gecko = self::get_version_gecko();
287
-
288
-        // On desktop, the gecko trail is fixed.
289
-        $trail = '20100101';
290
-
291
-        $release = 'rv:' . $gecko;
292
-        $version = 'Gecko/' . $trail . ' Firefox/' . $gecko;
293
-
294
-        switch ( $arch )
295
-        {
296
-            case 'lin':
297
-                return '(X11; Linux {proc}; ' . $release . ') ' . $version;
298
-            case 'mac':
299
-                $osx = self::get_version_osx();
300
-                return '(Macintosh; {proc} Mac OS X ' . $osx . '; ' . $release . ') ' . $version;
301
-            case 'win':
302
-                // fall through.
303
-            default:
304
-                $nt = self::get_version_nt();
305
-                return '(Windows NT ' . $nt . '; {lang}; ' . $release . ') ' . $version;
306
-        }
307
-    }
308
-
309
-    public static function chrome( $arch )
310
-    {
311
-        $chrome = ' Chrome/' . self::get_verison_chrome();
312
-
313
-        // WebKit Rendering Engine (WebKit = Backend, Safari = Frontend).
314
-        $engine = self::get_version_webkit();
315
-        $webkit = ' AppleWebKit/' . $engine . ' (KHTML, like Gecko)';
316
-        $safari = ' Safari/' . $engine;
317
-
318
-        switch ( $arch )
319
-        {
320
-            case 'lin':
321
-                return '(X11; Linux {proc}) ' . $webkit . $chrome . $safari;
322
-            case 'mac':
323
-                $osx = self::get_version_osx();
324
-                return '(Macintosh; U; {proc} Mac OS X ' . $osx . ')' . $webkit . $chrome . $safari;
325
-            case 'win':
326
-                // fall through.
327
-            default:
328
-                $nt = self::get_version_nt();
329
-                return '(Windows NT ' . $nt . ') ' . $webkit . $chrome . $safari;
330
-        }
331
-    }
332
-
333
-    public static function random( $lang = array( 'en-US' ) )
334
-    {
335
-        list( $browser, $os ) = self::generate_platform();
336
-
337
-        return self::generate( $browser, $os, $lang );
338
-    }
339
-
340
-    public static function generate( $browser = 'chrome', $os = 'win', $lang = array( 'en-US' ) )
341
-    {
342
-        $ua = self::MOZILLA . call_user_func( 'UAgent::' . $browser, $os );
343
-
344
-        $tags = array(
345
-            '{proc}' => self::get_processor( $os ),
346
-            '{lang}' => self::get_language( $lang ),
347
-        );
348
-
349
-        $ua = str_replace( array_keys( $tags ), array_values( $tags ), $ua );
350
-
351
-        return $ua;
352
-    }
11
+	// General token that says the browser is Mozilla compatible, 
12
+	// and is common to almost every browser today.
13
+	const MOZILLA = 'Mozilla/5.0 ';
14
+
15
+	/**
16
+	 * Processors by Arch.
17
+	 */
18
+	public static $processors = array(
19
+		'lin' => array( 'i686', 'x86_64' ),
20
+		'mac' => array( 'Intel', 'PPC', 'U; Intel', 'U; PPC' ),
21
+		'win' => array( 'foo' )
22
+	);
23
+
24
+	/**
25
+	 * Browsers
26
+	 * 
27
+	 * Weighting is based on market share to determine frequency.
28
+	 */
29
+	public static $browsers = array(
30
+		34 => array(
31
+			89 => array( 'chrome', 'win' ),
32
+			9  => array( 'chrome', 'mac' ),
33
+			2  => array( 'chrome', 'lin' )
34
+		),
35
+		32 => array(
36
+			100 => array( 'iexplorer', 'win' )
37
+		),
38
+		25 => array(
39
+			83 => array( 'firefox', 'win' ),
40
+			16 => array( 'firefox', 'mac' ),
41
+			1  => array( 'firefox', 'lin' )
42
+		),
43
+		7 => array(
44
+			95 => array( 'safari', 'mac' ),
45
+			4  => array( 'safari', 'win' ),
46
+			1  => array( 'safari', 'lin' )
47
+		),
48
+		2 => array(
49
+			91 => array( 'opera', 'win' ),
50
+			6  => array( 'opera', 'lin' ),
51
+			3  => array( 'opera', 'mac' )
52
+		)
53
+	);
54
+
55
+	/**
56
+	 * List of Lanuge Culture Codes (ISO 639-1)
57
+	 *
58
+	 * @see: http://msdn.microsoft.com/en-gb/library/ee825488(v=cs.20).aspx
59
+	 */
60
+	public static $languages = array(
61
+		'af-ZA', 'ar-AE', 'ar-BH', 'ar-DZ', 'ar-EG', 'ar-IQ', 'ar-JO', 'ar-KW', 'ar-LB',
62
+		'ar-LY', 'ar-MA', 'ar-OM', 'ar-QA', 'ar-SA', 'ar-SY', 'ar-TN', 'ar-YE', 'be-BY',
63
+		'bg-BG', 'ca-ES', 'cs-CZ', 'Cy-az-AZ', 'Cy-sr-SP', 'Cy-uz-UZ', 'da-DK', 'de-AT',
64
+		'de-CH', 'de-DE', 'de-LI', 'de-LU', 'div-MV', 'el-GR', 'en-AU', 'en-BZ', 'en-CA', 
65
+		'en-CB', 'en-GB', 'en-IE', 'en-JM', 'en-NZ', 'en-PH', 'en-TT', 'en-US', 'en-ZA', 
66
+		'en-ZW', 'es-AR', 'es-BO', 'es-CL', 'es-CO',  'es-CR', 'es-DO', 'es-EC', 'es-ES',
67
+		'es-GT', 'es-HN', 'es-MX', 'es-NI', 'es-PA', 'es-PE', 'es-PR', 'es-PY', 'es-SV',
68
+		'es-UY', 'es-VE', 'et-EE', 'eu-ES', 'fa-IR', 'fi-FI', 'fo-FO', 'fr-BE', 'fr-CA',
69
+		'fr-CH', 'fr-FR', 'fr-LU', 'fr-MC', 'gl-ES', 'gu-IN', 'he-IL', 'hi-IN', 'hr-HR', 
70
+		'hu-HU', 'hy-AM', 'id-ID', 'is-IS', 'it-CH', 'it-IT', 'ja-JP', 'ka-GE', 'kk-KZ',
71
+		'kn-IN', 'kok-IN', 'ko-KR', 'ky-KZ', 'Lt-az-AZ', 'lt-LT', 'Lt-sr-SP', 'Lt-uz-UZ', 
72
+		'lv-LV', 'mk-MK', 'mn-MN', 'mr-IN', 'ms-BN', 'ms-MY', 'nb-NO', 'nl-BE', 'nl-NL', 
73
+		'nn-NO', 'pa-IN', 'pl-PL', 'pt-BR', 'pt-PT', 'ro-RO', 'ru-RU', 'sa-IN', 'sk-SK', 
74
+		'sl-SI', 'sq-AL', 'sv-FI', 'sv-SE', 'sw-KE', 'syr-SY', 'ta-IN', 'te-IN', 'th-TH', 
75
+		'tr-TR', 'tt-RU', 'uk-UA', 'ur-PK', 'vi-VN', 'zh-CHS', 'zh-CHT', 'zh-CN', 'zh-HK', 
76
+		'zh-MO', 'zh-SG', 'zh-TW',   
77
+	);    
78
+
79
+	/**
80
+	 * Generate Device Platform
81
+	 *
82
+	 * Uses a random result with a weighting related to frequencies.
83
+	 */
84
+	public static function generate_platform()
85
+	{
86
+		$rand = mt_rand( 1, 100 );
87
+		$sum = 0;
88
+
89
+		foreach ( self::$browsers as $share => $freq_os )
90
+		{
91
+			$sum += $share;
92
+
93
+			if ( $rand <= $sum )
94
+			{
95
+				$rand = mt_rand( 1, 100 );
96
+				$sum = 0;
97
+
98
+				foreach ( $freq_os as $share => $choice )
99
+				{
100
+					$sum += $share;
101
+
102
+					if ( $rand <= $sum )
103
+					{
104
+						return $choice;
105
+					}
106
+				}
107
+			}
108
+		}
109
+
110
+		throw new Exception( 'Sum of $browsers frequency is not 100.' );
111
+	}
112
+
113
+	private static function array_random( $array )
114
+	{
115
+		$i = array_rand( $array, 1 );
116
+
117
+		return $array[$i];
118
+	}
119
+
120
+	private static function get_language( $lang = array() )
121
+	{
122
+		return self::array_random( empty( $lang ) ? self::$languages : $lang );
123
+	}
124
+
125
+	private static function get_processor( $os )
126
+	{
127
+		return self::array_random( self::$processors[$os] );
128
+	}
129
+
130
+	private static function get_version_nt()
131
+	{   
132
+		// Win2k (5.0) to Win 7 (6.1).
133
+		return mt_rand( 5, 6 ) . '.' . mt_rand( 0, 1 );
134
+	}
135
+
136
+	private static function get_version_osx()
137
+	{
138
+		return '10_' . mt_rand( 5, 7 ) . '_' . mt_rand( 0, 9 );
139
+	}
140
+
141
+	private static function get_version_webkit()
142
+	{
143
+		return mt_rand( 531, 536 ) . mt_rand( 0, 2 );
144
+	}
145
+
146
+	private static function get_verison_chrome()
147
+	{
148
+		return mt_rand( 13, 15 ) . '.0.' . mt_rand( 800, 899 ) . '.0';
149
+	}
150
+
151
+	private static function get_version_gecko()
152
+	{
153
+		return mt_rand( 17, 31 ) . '.0';
154
+	}
155
+
156
+	private static function get_version_ie()
157
+	{
158
+		return mt_rand( 7, 9 ) . '.0';
159
+	}
160
+
161
+	private static function get_version_trident()
162
+	{
163
+		// IE8 (4.0) to IE11 (7.0).
164
+		return mt_rand( 4, 7 ) . '.0';
165
+	}
166
+
167
+	private static function get_version_net()
168
+	{
169
+		// generic .NET Framework common language run time (CLR) version numbers.
170
+		$frameworks = array(
171
+			'2.0.50727',
172
+			'3.0.4506',
173
+			'3.5.30729',
174
+		);
175
+
176
+		$rev = '.' . mt_rand( 26, 648 );
177
+
178
+		return self::array_random( $frameworks ) . $rev;
179
+	}
180
+
181
+	private static function get_version_safari()
182
+	{
183
+		if ( mt_rand( 0, 1 ) == 0 )
184
+		{
185
+			$ver = mt_rand( 4, 5 ) . '.' . mt_rand( 0, 1 );
186
+		}
187
+		else
188
+		{
189
+			$ver = mt_rand( 4, 5 ) . '.0.' . mt_rand( 1, 5 );
190
+		}
191
+
192
+		return $ver;
193
+	}
194
+
195
+	private static function get_version_opera()
196
+	{
197
+		return mt_rand( 15, 19 ) . '.0.' . mt_rand( 1147, 1284 ) . mt_rand( 49, 100 );
198
+	}
199
+
200
+	/**
201
+	 * Opera
202
+	 * 
203
+	 * @see: http://dev.opera.com/blog/opera-user-agent-strings-opera-15-and-beyond/
204
+	 */
205
+	public static function opera( $arch )
206
+	{
207
+		$opera = ' OPR/' . self::get_version_opera();
208
+
209
+		// WebKit Rendering Engine (WebKit = Backend, Safari = Frontend).
210
+		$engine = self::get_version_webkit();
211
+		$webkit = ' AppleWebKit/' . $engine . ' (KHTML, like Gecko)';
212
+		$chrome = ' Chrome/' . self::get_verison_chrome();
213
+		$safari = ' Safari/' . $engine;
214
+
215
+		switch ( $arch )
216
+		{
217
+			case 'lin':
218
+				return '(X11; Linux {proc}) ' . $webkit . $chrome . $safari . $opera;
219
+			case 'mac':
220
+				$osx = self::get_version_osx();
221
+				return '(Macintosh; U; {proc} Mac OS X ' . $osx . ')' . $webkit . $chrome . $safari . $opera;
222
+			case 'win':
223
+				// fall through.
224
+			default:
225
+				$nt = self::get_version_nt();
226
+				return '(Windows NT ' . $nt . '; WOW64) ' . $webkit . $chrome . $safari . $opera;
227
+		}
228
+	}    
229
+
230
+	/**
231
+	 * Safari
232
+	 *
233
+	 */
234
+	public static function safari( $arch )
235
+	{
236
+		$version = ' Version/' . self::get_version_safari();
237
+
238
+		// WebKit Rendering Engine (WebKit = Backend, Safari = Frontend).
239
+		$engine = self::get_version_webkit();
240
+		$webkit = ' AppleWebKit/' . $engine . ' (KHTML, like Gecko)';
241
+		$safari = ' Safari/' . $engine;
242
+
243
+		switch ( $arch )
244
+		{
245
+			case 'mac':
246
+				$osx = self::get_version_osx();
247
+				return '(Macintosh; U; {proc} Mac OS X ' . $osx . '; {lang})' . $webkit . $version . $safari;
248
+			case 'win':
249
+				// fall through.
250
+			default:
251
+				$nt = self::get_version_nt();
252
+				return '(Windows; U; Windows NT ' . $nt . ')' . $webkit . $version . $safari;
253
+		}
254
+
255
+	}
256
+
257
+	/**
258
+	 * Internet Explorer
259
+	 * 
260
+	 * @see: http://msdn.microsoft.com/en-gb/library/ms537503(v=vs.85).aspx
261
+	 */
262
+	public static function iexplorer( $arch )
263
+	{
264
+		$nt = self::get_version_nt();
265
+		$ie = self::get_version_ie();
266
+		$trident = self::get_version_trident();
267
+		$net = self::get_version_net();
268
+
269
+		return '(compatible' 
270
+			. '; MSIE ' . $ie 
271
+			. '; Windows NT ' . $nt 
272
+			. '; WOW64' // A 32-bit version of Internet Explorer is running on a 64-bit processor.
273
+			. '; Trident/' . $trident 
274
+			. '; .NET CLR ' . $net
275
+			. ')';
276
+	}
277
+
278
+	/**
279
+	 * Firefox User-Agent
280
+	 *
281
+	 * @see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Gecko_user_agent_string_reference
282
+	 */
283
+	public static function firefox( $arch )
284
+	{
285
+		// The release version of Gecko. 
286
+		$gecko = self::get_version_gecko();
287
+
288
+		// On desktop, the gecko trail is fixed.
289
+		$trail = '20100101';
290
+
291
+		$release = 'rv:' . $gecko;
292
+		$version = 'Gecko/' . $trail . ' Firefox/' . $gecko;
293
+
294
+		switch ( $arch )
295
+		{
296
+			case 'lin':
297
+				return '(X11; Linux {proc}; ' . $release . ') ' . $version;
298
+			case 'mac':
299
+				$osx = self::get_version_osx();
300
+				return '(Macintosh; {proc} Mac OS X ' . $osx . '; ' . $release . ') ' . $version;
301
+			case 'win':
302
+				// fall through.
303
+			default:
304
+				$nt = self::get_version_nt();
305
+				return '(Windows NT ' . $nt . '; {lang}; ' . $release . ') ' . $version;
306
+		}
307
+	}
308
+
309
+	public static function chrome( $arch )
310
+	{
311
+		$chrome = ' Chrome/' . self::get_verison_chrome();
312
+
313
+		// WebKit Rendering Engine (WebKit = Backend, Safari = Frontend).
314
+		$engine = self::get_version_webkit();
315
+		$webkit = ' AppleWebKit/' . $engine . ' (KHTML, like Gecko)';
316
+		$safari = ' Safari/' . $engine;
317
+
318
+		switch ( $arch )
319
+		{
320
+			case 'lin':
321
+				return '(X11; Linux {proc}) ' . $webkit . $chrome . $safari;
322
+			case 'mac':
323
+				$osx = self::get_version_osx();
324
+				return '(Macintosh; U; {proc} Mac OS X ' . $osx . ')' . $webkit . $chrome . $safari;
325
+			case 'win':
326
+				// fall through.
327
+			default:
328
+				$nt = self::get_version_nt();
329
+				return '(Windows NT ' . $nt . ') ' . $webkit . $chrome . $safari;
330
+		}
331
+	}
332
+
333
+	public static function random( $lang = array( 'en-US' ) )
334
+	{
335
+		list( $browser, $os ) = self::generate_platform();
336
+
337
+		return self::generate( $browser, $os, $lang );
338
+	}
339
+
340
+	public static function generate( $browser = 'chrome', $os = 'win', $lang = array( 'en-US' ) )
341
+	{
342
+		$ua = self::MOZILLA . call_user_func( 'UAgent::' . $browser, $os );
343
+
344
+		$tags = array(
345
+			'{proc}' => self::get_processor( $os ),
346
+			'{lang}' => self::get_language( $lang ),
347
+		);
348
+
349
+		$ua = str_replace( array_keys( $tags ), array_values( $tags ), $ua );
350
+
351
+		return $ua;
352
+	}
353 353
 }
354 354
 ?>
Please login to merge, or discard this patch.
Spacing   +87 added lines, -87 removed lines patch added patch discarded remove patch
@@ -16,9 +16,9 @@  discard block
 block discarded – undo
16 16
      * Processors by Arch.
17 17
      */
18 18
     public static $processors = array(
19
-        'lin' => array( 'i686', 'x86_64' ),
20
-        'mac' => array( 'Intel', 'PPC', 'U; Intel', 'U; PPC' ),
21
-        'win' => array( 'foo' )
19
+        'lin' => array('i686', 'x86_64'),
20
+        'mac' => array('Intel', 'PPC', 'U; Intel', 'U; PPC'),
21
+        'win' => array('foo')
22 22
     );
23 23
 
24 24
     /**
@@ -28,27 +28,27 @@  discard block
 block discarded – undo
28 28
      */
29 29
     public static $browsers = array(
30 30
         34 => array(
31
-            89 => array( 'chrome', 'win' ),
32
-            9  => array( 'chrome', 'mac' ),
33
-            2  => array( 'chrome', 'lin' )
31
+            89 => array('chrome', 'win'),
32
+            9  => array('chrome', 'mac'),
33
+            2  => array('chrome', 'lin')
34 34
         ),
35 35
         32 => array(
36
-            100 => array( 'iexplorer', 'win' )
36
+            100 => array('iexplorer', 'win')
37 37
         ),
38 38
         25 => array(
39
-            83 => array( 'firefox', 'win' ),
40
-            16 => array( 'firefox', 'mac' ),
41
-            1  => array( 'firefox', 'lin' )
39
+            83 => array('firefox', 'win'),
40
+            16 => array('firefox', 'mac'),
41
+            1  => array('firefox', 'lin')
42 42
         ),
43 43
         7 => array(
44
-            95 => array( 'safari', 'mac' ),
45
-            4  => array( 'safari', 'win' ),
46
-            1  => array( 'safari', 'lin' )
44
+            95 => array('safari', 'mac'),
45
+            4  => array('safari', 'win'),
46
+            1  => array('safari', 'lin')
47 47
         ),
48 48
         2 => array(
49
-            91 => array( 'opera', 'win' ),
50
-            6  => array( 'opera', 'lin' ),
51
-            3  => array( 'opera', 'mac' )
49
+            91 => array('opera', 'win'),
50
+            6  => array('opera', 'lin'),
51
+            3  => array('opera', 'mac')
52 52
         )
53 53
     );
54 54
 
@@ -63,7 +63,7 @@  discard block
 block discarded – undo
63 63
         'bg-BG', 'ca-ES', 'cs-CZ', 'Cy-az-AZ', 'Cy-sr-SP', 'Cy-uz-UZ', 'da-DK', 'de-AT',
64 64
         'de-CH', 'de-DE', 'de-LI', 'de-LU', 'div-MV', 'el-GR', 'en-AU', 'en-BZ', 'en-CA', 
65 65
         'en-CB', 'en-GB', 'en-IE', 'en-JM', 'en-NZ', 'en-PH', 'en-TT', 'en-US', 'en-ZA', 
66
-        'en-ZW', 'es-AR', 'es-BO', 'es-CL', 'es-CO',  'es-CR', 'es-DO', 'es-EC', 'es-ES',
66
+        'en-ZW', 'es-AR', 'es-BO', 'es-CL', 'es-CO', 'es-CR', 'es-DO', 'es-EC', 'es-ES',
67 67
         'es-GT', 'es-HN', 'es-MX', 'es-NI', 'es-PA', 'es-PE', 'es-PR', 'es-PY', 'es-SV',
68 68
         'es-UY', 'es-VE', 'et-EE', 'eu-ES', 'fa-IR', 'fi-FI', 'fo-FO', 'fr-BE', 'fr-CA',
69 69
         'fr-CH', 'fr-FR', 'fr-LU', 'fr-MC', 'gl-ES', 'gu-IN', 'he-IL', 'hi-IN', 'hr-HR', 
@@ -83,23 +83,23 @@  discard block
 block discarded – undo
83 83
      */
84 84
     public static function generate_platform()
85 85
     {
86
-        $rand = mt_rand( 1, 100 );
86
+        $rand = mt_rand(1, 100);
87 87
         $sum = 0;
88 88
 
89
-        foreach ( self::$browsers as $share => $freq_os )
89
+        foreach (self::$browsers as $share => $freq_os)
90 90
         {
91 91
             $sum += $share;
92 92
 
93
-            if ( $rand <= $sum )
93
+            if ($rand <= $sum)
94 94
             {
95
-                $rand = mt_rand( 1, 100 );
95
+                $rand = mt_rand(1, 100);
96 96
                 $sum = 0;
97 97
 
98
-                foreach ( $freq_os as $share => $choice )
98
+                foreach ($freq_os as $share => $choice)
99 99
                 {
100 100
                     $sum += $share;
101 101
 
102
-                    if ( $rand <= $sum )
102
+                    if ($rand <= $sum)
103 103
                     {
104 104
                         return $choice;
105 105
                     }
@@ -107,61 +107,61 @@  discard block
 block discarded – undo
107 107
             }
108 108
         }
109 109
 
110
-        throw new Exception( 'Sum of $browsers frequency is not 100.' );
110
+        throw new Exception('Sum of $browsers frequency is not 100.');
111 111
     }
112 112
 
113
-    private static function array_random( $array )
113
+    private static function array_random($array)
114 114
     {
115
-        $i = array_rand( $array, 1 );
115
+        $i = array_rand($array, 1);
116 116
 
117 117
         return $array[$i];
118 118
     }
119 119
 
120
-    private static function get_language( $lang = array() )
120
+    private static function get_language($lang = array())
121 121
     {
122
-        return self::array_random( empty( $lang ) ? self::$languages : $lang );
122
+        return self::array_random(empty($lang) ? self::$languages : $lang);
123 123
     }
124 124
 
125
-    private static function get_processor( $os )
125
+    private static function get_processor($os)
126 126
     {
127
-        return self::array_random( self::$processors[$os] );
127
+        return self::array_random(self::$processors[$os]);
128 128
     }
129 129
 
130 130
     private static function get_version_nt()
131 131
     {   
132 132
         // Win2k (5.0) to Win 7 (6.1).
133
-        return mt_rand( 5, 6 ) . '.' . mt_rand( 0, 1 );
133
+        return mt_rand(5, 6).'.'.mt_rand(0, 1);
134 134
     }
135 135
 
136 136
     private static function get_version_osx()
137 137
     {
138
-        return '10_' . mt_rand( 5, 7 ) . '_' . mt_rand( 0, 9 );
138
+        return '10_'.mt_rand(5, 7).'_'.mt_rand(0, 9);
139 139
     }
140 140
 
141 141
     private static function get_version_webkit()
142 142
     {
143
-        return mt_rand( 531, 536 ) . mt_rand( 0, 2 );
143
+        return mt_rand(531, 536).mt_rand(0, 2);
144 144
     }
145 145
 
146 146
     private static function get_verison_chrome()
147 147
     {
148
-        return mt_rand( 13, 15 ) . '.0.' . mt_rand( 800, 899 ) . '.0';
148
+        return mt_rand(13, 15).'.0.'.mt_rand(800, 899).'.0';
149 149
     }
150 150
 
151 151
     private static function get_version_gecko()
152 152
     {
153
-        return mt_rand( 17, 31 ) . '.0';
153
+        return mt_rand(17, 31).'.0';
154 154
     }
155 155
 
156 156
     private static function get_version_ie()
157 157
     {
158
-        return mt_rand( 7, 9 ) . '.0';
158
+        return mt_rand(7, 9).'.0';
159 159
     }
160 160
 
161 161
     private static function get_version_trident()
162 162
     {
163 163
         // IE8 (4.0) to IE11 (7.0).
164
-        return mt_rand( 4, 7 ) . '.0';
164
+        return mt_rand(4, 7).'.0';
165 165
     }
166 166
 
167 167
     private static function get_version_net()
@@ -173,20 +173,20 @@  discard block
 block discarded – undo
173 173
             '3.5.30729',
174 174
         );
175 175
 
176
-        $rev = '.' . mt_rand( 26, 648 );
176
+        $rev = '.'.mt_rand(26, 648);
177 177
 
178
-        return self::array_random( $frameworks ) . $rev;
178
+        return self::array_random($frameworks).$rev;
179 179
     }
180 180
 
181 181
     private static function get_version_safari()
182 182
     {
183
-        if ( mt_rand( 0, 1 ) == 0 )
183
+        if (mt_rand(0, 1) == 0)
184 184
         {
185
-            $ver = mt_rand( 4, 5 ) . '.' . mt_rand( 0, 1 );
185
+            $ver = mt_rand(4, 5).'.'.mt_rand(0, 1);
186 186
         }
187 187
         else
188 188
         {
189
-            $ver = mt_rand( 4, 5 ) . '.0.' . mt_rand( 1, 5 );
189
+            $ver = mt_rand(4, 5).'.0.'.mt_rand(1, 5);
190 190
         }
191 191
 
192 192
         return $ver;
@@ -194,7 +194,7 @@  discard block
 block discarded – undo
194 194
 
195 195
     private static function get_version_opera()
196 196
     {
197
-        return mt_rand( 15, 19 ) . '.0.' . mt_rand( 1147, 1284 ) . mt_rand( 49, 100 );
197
+        return mt_rand(15, 19).'.0.'.mt_rand(1147, 1284).mt_rand(49, 100);
198 198
     }
199 199
 
200 200
     /**
@@ -202,28 +202,28 @@  discard block
 block discarded – undo
202 202
      * 
203 203
      * @see: http://dev.opera.com/blog/opera-user-agent-strings-opera-15-and-beyond/
204 204
      */
205
-    public static function opera( $arch )
205
+    public static function opera($arch)
206 206
     {
207
-        $opera = ' OPR/' . self::get_version_opera();
207
+        $opera = ' OPR/'.self::get_version_opera();
208 208
 
209 209
         // WebKit Rendering Engine (WebKit = Backend, Safari = Frontend).
210 210
         $engine = self::get_version_webkit();
211
-        $webkit = ' AppleWebKit/' . $engine . ' (KHTML, like Gecko)';
212
-        $chrome = ' Chrome/' . self::get_verison_chrome();
213
-        $safari = ' Safari/' . $engine;
211
+        $webkit = ' AppleWebKit/'.$engine.' (KHTML, like Gecko)';
212
+        $chrome = ' Chrome/'.self::get_verison_chrome();
213
+        $safari = ' Safari/'.$engine;
214 214
 
215
-        switch ( $arch )
215
+        switch ($arch)
216 216
         {
217 217
             case 'lin':
218
-                return '(X11; Linux {proc}) ' . $webkit . $chrome . $safari . $opera;
218
+                return '(X11; Linux {proc}) '.$webkit.$chrome.$safari.$opera;
219 219
             case 'mac':
220 220
                 $osx = self::get_version_osx();
221
-                return '(Macintosh; U; {proc} Mac OS X ' . $osx . ')' . $webkit . $chrome . $safari . $opera;
221
+                return '(Macintosh; U; {proc} Mac OS X '.$osx.')'.$webkit.$chrome.$safari.$opera;
222 222
             case 'win':
223 223
                 // fall through.
224 224
             default:
225 225
                 $nt = self::get_version_nt();
226
-                return '(Windows NT ' . $nt . '; WOW64) ' . $webkit . $chrome . $safari . $opera;
226
+                return '(Windows NT '.$nt.'; WOW64) '.$webkit.$chrome.$safari.$opera;
227 227
         }
228 228
     }    
229 229
 
@@ -231,25 +231,25 @@  discard block
 block discarded – undo
231 231
      * Safari
232 232
      *
233 233
      */
234
-    public static function safari( $arch )
234
+    public static function safari($arch)
235 235
     {
236
-        $version = ' Version/' . self::get_version_safari();
236
+        $version = ' Version/'.self::get_version_safari();
237 237
 
238 238
         // WebKit Rendering Engine (WebKit = Backend, Safari = Frontend).
239 239
         $engine = self::get_version_webkit();
240
-        $webkit = ' AppleWebKit/' . $engine . ' (KHTML, like Gecko)';
241
-        $safari = ' Safari/' . $engine;
240
+        $webkit = ' AppleWebKit/'.$engine.' (KHTML, like Gecko)';
241
+        $safari = ' Safari/'.$engine;
242 242
 
243
-        switch ( $arch )
243
+        switch ($arch)
244 244
         {
245 245
             case 'mac':
246 246
                 $osx = self::get_version_osx();
247
-                return '(Macintosh; U; {proc} Mac OS X ' . $osx . '; {lang})' . $webkit . $version . $safari;
247
+                return '(Macintosh; U; {proc} Mac OS X '.$osx.'; {lang})'.$webkit.$version.$safari;
248 248
             case 'win':
249 249
                 // fall through.
250 250
             default:
251 251
                 $nt = self::get_version_nt();
252
-                return '(Windows; U; Windows NT ' . $nt . ')' . $webkit . $version . $safari;
252
+                return '(Windows; U; Windows NT '.$nt.')'.$webkit.$version.$safari;
253 253
         }
254 254
 
255 255
     }
@@ -259,7 +259,7 @@  discard block
 block discarded – undo
259 259
      * 
260 260
      * @see: http://msdn.microsoft.com/en-gb/library/ms537503(v=vs.85).aspx
261 261
      */
262
-    public static function iexplorer( $arch )
262
+    public static function iexplorer($arch)
263 263
     {
264 264
         $nt = self::get_version_nt();
265 265
         $ie = self::get_version_ie();
@@ -267,11 +267,11 @@  discard block
 block discarded – undo
267 267
         $net = self::get_version_net();
268 268
 
269 269
         return '(compatible' 
270
-            . '; MSIE ' . $ie 
271
-            . '; Windows NT ' . $nt 
270
+            . '; MSIE '.$ie 
271
+            . '; Windows NT '.$nt 
272 272
             . '; WOW64' // A 32-bit version of Internet Explorer is running on a 64-bit processor.
273
-            . '; Trident/' . $trident 
274
-            . '; .NET CLR ' . $net
273
+            . '; Trident/'.$trident 
274
+            . '; .NET CLR '.$net
275 275
             . ')';
276 276
     }
277 277
 
@@ -280,7 +280,7 @@  discard block
 block discarded – undo
280 280
      *
281 281
      * @see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Gecko_user_agent_string_reference
282 282
      */
283
-    public static function firefox( $arch )
283
+    public static function firefox($arch)
284 284
     {
285 285
         // The release version of Gecko. 
286 286
         $gecko = self::get_version_gecko();
@@ -288,65 +288,65 @@  discard block
 block discarded – undo
288 288
         // On desktop, the gecko trail is fixed.
289 289
         $trail = '20100101';
290 290
 
291
-        $release = 'rv:' . $gecko;
292
-        $version = 'Gecko/' . $trail . ' Firefox/' . $gecko;
291
+        $release = 'rv:'.$gecko;
292
+        $version = 'Gecko/'.$trail.' Firefox/'.$gecko;
293 293
 
294
-        switch ( $arch )
294
+        switch ($arch)
295 295
         {
296 296
             case 'lin':
297
-                return '(X11; Linux {proc}; ' . $release . ') ' . $version;
297
+                return '(X11; Linux {proc}; '.$release.') '.$version;
298 298
             case 'mac':
299 299
                 $osx = self::get_version_osx();
300
-                return '(Macintosh; {proc} Mac OS X ' . $osx . '; ' . $release . ') ' . $version;
300
+                return '(Macintosh; {proc} Mac OS X '.$osx.'; '.$release.') '.$version;
301 301
             case 'win':
302 302
                 // fall through.
303 303
             default:
304 304
                 $nt = self::get_version_nt();
305
-                return '(Windows NT ' . $nt . '; {lang}; ' . $release . ') ' . $version;
305
+                return '(Windows NT '.$nt.'; {lang}; '.$release.') '.$version;
306 306
         }
307 307
     }
308 308
 
309
-    public static function chrome( $arch )
309
+    public static function chrome($arch)
310 310
     {
311
-        $chrome = ' Chrome/' . self::get_verison_chrome();
311
+        $chrome = ' Chrome/'.self::get_verison_chrome();
312 312
 
313 313
         // WebKit Rendering Engine (WebKit = Backend, Safari = Frontend).
314 314
         $engine = self::get_version_webkit();
315
-        $webkit = ' AppleWebKit/' . $engine . ' (KHTML, like Gecko)';
316
-        $safari = ' Safari/' . $engine;
315
+        $webkit = ' AppleWebKit/'.$engine.' (KHTML, like Gecko)';
316
+        $safari = ' Safari/'.$engine;
317 317
 
318
-        switch ( $arch )
318
+        switch ($arch)
319 319
         {
320 320
             case 'lin':
321
-                return '(X11; Linux {proc}) ' . $webkit . $chrome . $safari;
321
+                return '(X11; Linux {proc}) '.$webkit.$chrome.$safari;
322 322
             case 'mac':
323 323
                 $osx = self::get_version_osx();
324
-                return '(Macintosh; U; {proc} Mac OS X ' . $osx . ')' . $webkit . $chrome . $safari;
324
+                return '(Macintosh; U; {proc} Mac OS X '.$osx.')'.$webkit.$chrome.$safari;
325 325
             case 'win':
326 326
                 // fall through.
327 327
             default:
328 328
                 $nt = self::get_version_nt();
329
-                return '(Windows NT ' . $nt . ') ' . $webkit . $chrome . $safari;
329
+                return '(Windows NT '.$nt.') '.$webkit.$chrome.$safari;
330 330
         }
331 331
     }
332 332
 
333
-    public static function random( $lang = array( 'en-US' ) )
333
+    public static function random($lang = array('en-US'))
334 334
     {
335
-        list( $browser, $os ) = self::generate_platform();
335
+        list($browser, $os) = self::generate_platform();
336 336
 
337
-        return self::generate( $browser, $os, $lang );
337
+        return self::generate($browser, $os, $lang);
338 338
     }
339 339
 
340
-    public static function generate( $browser = 'chrome', $os = 'win', $lang = array( 'en-US' ) )
340
+    public static function generate($browser = 'chrome', $os = 'win', $lang = array('en-US'))
341 341
     {
342
-        $ua = self::MOZILLA . call_user_func( 'UAgent::' . $browser, $os );
342
+        $ua = self::MOZILLA.call_user_func('UAgent::'.$browser, $os);
343 343
 
344 344
         $tags = array(
345
-            '{proc}' => self::get_processor( $os ),
346
-            '{lang}' => self::get_language( $lang ),
345
+            '{proc}' => self::get_processor($os),
346
+            '{lang}' => self::get_language($lang),
347 347
         );
348 348
 
349
-        $ua = str_replace( array_keys( $tags ), array_values( $tags ), $ua );
349
+        $ua = str_replace(array_keys($tags), array_values($tags), $ua);
350 350
 
351 351
         return $ua;
352 352
     }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -183,8 +183,7 @@
 block discarded – undo
183 183
         if ( mt_rand( 0, 1 ) == 0 )
184 184
         {
185 185
             $ver = mt_rand( 4, 5 ) . '.' . mt_rand( 0, 1 );
186
-        }
187
-        else
186
+        } else
188 187
         {
189 188
             $ver = mt_rand( 4, 5 ) . '.0.' . mt_rand( 1, 5 );
190 189
         }
Please login to merge, or discard this patch.
date-detailed.php 2 patches
Spacing   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -1,20 +1,20 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 require_once('require/class.Connection.php');
3
-require_once('require/class.Spotter.php');;
3
+require_once('require/class.Spotter.php'); ;
4 4
 require_once('require/class.Language.php');
5 5
 
6
-if (!isset($_GET['date'])){
6
+if (!isset($_GET['date'])) {
7 7
 	header('Location: '.$globalURL.'');
8 8
 } else {
9 9
 	$Spotter = new Spotter();
10 10
 	
11 11
 	//calculuation for the pagination
12
-	if(!isset($_GET['limit']))
12
+	if (!isset($_GET['limit']))
13 13
 	{
14 14
 		$limit_start = 0;
15 15
 		$limit_end = 25;
16 16
 		$absolute_difference = 25;
17
-	}  else {
17
+	} else {
18 18
 		$limit_explode = explode(",", $_GET['limit']);
19 19
 		$limit_start = $limit_explode[0];
20 20
 		$limit_end = $limit_explode[1];
@@ -30,19 +30,19 @@  discard block
 block discarded – undo
30 30
 	
31 31
 	$page_url = $globalURL.'/date/'.$_GET['date'];
32 32
 	
33
-	$sort = filter_input(INPUT_GET,'sort',FILTER_SANITIZE_STRING);
33
+	$sort = filter_input(INPUT_GET, 'sort', FILTER_SANITIZE_STRING);
34 34
 	if (isset($_GET['sort'])) 
35 35
 	{
36
-		$spotter_array = $Spotter->getSpotterDataByDate($_GET['date'],$limit_start.",".$absolute_difference, $sort);
36
+		$spotter_array = $Spotter->getSpotterDataByDate($_GET['date'], $limit_start.",".$absolute_difference, $sort);
37 37
 	} else {
38
-		$spotter_array = $Spotter->getSpotterDataByDate($_GET['date'],$limit_start.",".$absolute_difference);
38
+		$spotter_array = $Spotter->getSpotterDataByDate($_GET['date'], $limit_start.",".$absolute_difference);
39 39
 	}
40 40
 	
41 41
 	
42 42
 	if (!empty($spotter_array))
43 43
 	{
44 44
 		date_default_timezone_set($globalTimezone);
45
-		$title = sprintf(_("Detailed View for flights from %s"),date("l F j, Y", strtotime($spotter_array[0]['date_iso_8601'])));
45
+		$title = sprintf(_("Detailed View for flights from %s"), date("l F j, Y", strtotime($spotter_array[0]['date_iso_8601'])));
46 46
 
47 47
 		require_once('header.php');
48 48
 		print '<div class="select-item">';
@@ -54,12 +54,12 @@  discard block
 block discarded – undo
54 54
 		print '</div>';
55 55
 
56 56
 		print '<div class="info column">';
57
-		print '<h1>'.sprintf(_("Flights from %s"),date("l F j, Y", strtotime($spotter_array[0]['date_iso_8601']))).'</h1>';
57
+		print '<h1>'.sprintf(_("Flights from %s"), date("l F j, Y", strtotime($spotter_array[0]['date_iso_8601']))).'</h1>';
58 58
 		print '</div>';
59 59
 
60 60
 		include('date-sub-menu.php');
61 61
 		print '<div class="table column">';
62
-		print '<p>'.sprintf(_("The table below shows the detailed information of all flights on <strong>%s</strong>."),date("l M j, Y", strtotime($spotter_array[0]['date_iso_8601']))).'</p>';
62
+		print '<p>'.sprintf(_("The table below shows the detailed information of all flights on <strong>%s</strong>."), date("l M j, Y", strtotime($spotter_array[0]['date_iso_8601']))).'</p>';
63 63
  
64 64
 		include('table-output.php');
65 65
 		print '<div class="pagination">';
Please login to merge, or discard this patch.
Braces   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -13,7 +13,7 @@
 block discarded – undo
13 13
 	  $limit_start = 0;
14 14
 	  $limit_end = 25;
15 15
 	  $absolute_difference = 25;
16
-	}  else {
16
+	} else {
17 17
 		$limit_explode = explode(",", $_GET['limit']);
18 18
 		$limit_start = $limit_explode[0];
19 19
 		$limit_end = $limit_explode[1];
Please login to merge, or discard this patch.
country-statistics-time.php 2 patches
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -3,8 +3,8 @@  discard block
 block discarded – undo
3 3
 require_once('require/class.Spotter.php');
4 4
 require_once('require/class.Language.php');
5 5
 if (!isset($_GET['country'])) {
6
-        header('Location: '.$globalURL.'/country');
7
-        die();
6
+		header('Location: '.$globalURL.'/country');
7
+		die();
8 8
 }
9 9
 $Spotter = new Spotter();
10 10
 $country = ucwords(str_replace("-", " ", filter_input(INPUT_GET,'country',FILTER_SANITIZE_STRING)));
@@ -61,7 +61,7 @@  discard block
 block discarded – undo
61 61
           function drawChart() {
62 62
             var data = google.visualization.arrayToDataTable([
63 63
             	["'._("Hour").'", "'._("# of Flights").'"], ';
64
-            	$hour_data = '';
64
+				$hour_data = '';
65 65
 	foreach($hour_array as $hour_item)
66 66
 	{
67 67
 		$hour_data .= '[ "'.date("ga", strtotime($hour_item['hour_name'].":00")).'",'.$hour_item['hour_count'].'],';
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -7,8 +7,8 @@  discard block
 block discarded – undo
7 7
         die();
8 8
 }
9 9
 $Spotter = new Spotter();
10
-$country = ucwords(str_replace("-", " ", filter_input(INPUT_GET,'country',FILTER_SANITIZE_STRING)));
11
-$sort = filter_input(INPUT_GET,'sort',FILTER_SANITIZE_STRING);
10
+$country = ucwords(str_replace("-", " ", filter_input(INPUT_GET, 'country', FILTER_SANITIZE_STRING)));
11
+$sort = filter_input(INPUT_GET, 'sort', FILTER_SANITIZE_STRING);
12 12
 
13 13
 if (isset($_GET['sort'])) {
14 14
 	$spotter_array = $Spotter->getSpotterDataByCountry($country, "0,1", $sort);
@@ -18,16 +18,16 @@  discard block
 block discarded – undo
18 18
 
19 19
 if (!empty($spotter_array))
20 20
 {
21
-	$title = sprintf(_("Most Common Time of Day from %s"),$country);
21
+	$title = sprintf(_("Most Common Time of Day from %s"), $country);
22 22
 	require_once('header.php');
23 23
 	print '<div class="select-item">';
24 24
 	print '<form action="'.$globalURL.'/country" method="post">';
25 25
 	print '<select name="country" class="selectpicker" data-live-search="true">';
26 26
 	print '<option></option>';
27 27
 	$all_countries = $Spotter->getAllCountries();
28
-	foreach($all_countries as $all_country)
28
+	foreach ($all_countries as $all_country)
29 29
 	{
30
-		if($country == $all_country['country'])
30
+		if ($country == $all_country['country'])
31 31
 		{
32 32
 			print '<option value="'.strtolower(str_replace(" ", "-", $all_country['country'])).'" selected="selected">'.$all_country['country'].'</option>';
33 33
 		} else {
@@ -42,7 +42,7 @@  discard block
 block discarded – undo
42 42
 	if ($_GET['country'] != "NA")
43 43
 	{
44 44
 		print '<div class="info column">';
45
-		print '<h1>'.sprintf(_("Airports &amp; Airlines from %s"),$country).'</h1>';
45
+		print '<h1>'.sprintf(_("Airports &amp; Airlines from %s"), $country).'</h1>';
46 46
 		print '</div>';
47 47
 	} else {
48 48
 		print '<div class="alert alert-warning">'._("This special country profile shows all flights that do <u>not</u> have a country of a airline or departure/arrival airport associated with them.").'</div>';
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
 	include('country-sub-menu.php');
52 52
 	print '<div class="column">';
53 53
 	print '<h2>'._("Most Common Time of Day").'</h2>';
54
-	print '<p>'.sprintf(_("The statistic below shows the most common time of day of airports &amp; airlines from <strong>%s</strong>."),$country).'</p>';
54
+	print '<p>'.sprintf(_("The statistic below shows the most common time of day of airports &amp; airlines from <strong>%s</strong>."), $country).'</p>';
55 55
 	$hour_array = $Spotter->countAllHoursByCountry($country);
56 56
 	print '<script type="text/javascript" src="https://www.google.com/jsapi"></script>';
57 57
 	print '<div id="chartHour" class="chart" width="100%"></div>
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
             var data = google.visualization.arrayToDataTable([
63 63
             	["'._("Hour").'", "'._("# of Flights").'"], ';
64 64
             	$hour_data = '';
65
-	foreach($hour_array as $hour_item)
65
+	foreach ($hour_array as $hour_item)
66 66
 	{
67 67
 		$hour_data .= '[ "'.date("ga", strtotime($hour_item['hour_name'].":00")).'",'.$hour_item['hour_count'].'],';
68 68
 	}
Please login to merge, or discard this patch.