|
@@ 244-248 (lines=5) @@
|
| 241 |
|
|
| 242 |
|
foreach ($provides as $provide) { |
| 243 |
|
// only valid provide types |
| 244 |
|
if (!in_array($provide['type'], $this->providesSupportedTypes)) { |
| 245 |
|
$this->errorMsg = |
| 246 |
|
_elgg_services()->translator->translate('ElggPluginPackage:InvalidPlugin:InvalidProvides', array($provide['type'])); |
| 247 |
|
return false; |
| 248 |
|
} |
| 249 |
|
|
| 250 |
|
// doesn't conflict or require any of its provides |
| 251 |
|
$name = $provide['name']; |
|
@@ 254-258 (lines=5) @@
|
| 251 |
|
$name = $provide['name']; |
| 252 |
|
foreach (array('conflicts', 'requires') as $dep_type) { |
| 253 |
|
foreach (${$dep_type} as $dep) { |
| 254 |
|
if (!in_array($dep['type'], $this->depsSupportedTypes)) { |
| 255 |
|
$this->errorMsg = |
| 256 |
|
_elgg_services()->translator->translate('ElggPluginPackage:InvalidPlugin:InvalidDependency', array($dep['type'])); |
| 257 |
|
return false; |
| 258 |
|
} |
| 259 |
|
|
| 260 |
|
// make sure nothing is providing something it conflicts or requires. |
| 261 |
|
if (isset($dep['name']) && $dep['name'] == $name) { |
|
@@ 264-270 (lines=7) @@
|
| 261 |
|
if (isset($dep['name']) && $dep['name'] == $name) { |
| 262 |
|
$version_compare = version_compare($provide['version'], $dep['version'], $dep['comparison']); |
| 263 |
|
|
| 264 |
|
if ($version_compare) { |
| 265 |
|
$this->errorMsg = |
| 266 |
|
_elgg_services()->translator->translate('ElggPluginPackage:InvalidPlugin:CircularDep', |
| 267 |
|
array($dep['type'], $dep['name'], $this->id)); |
| 268 |
|
|
| 269 |
|
return false; |
| 270 |
|
} |
| 271 |
|
} |
| 272 |
|
} |
| 273 |
|
} |