summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 3b1f739)
raw | patch | inline | side by side (parent: 3b1f739)
author | janw <janw@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 14 Apr 2008 10:35:17 +0000 (10:35 +0000) | ||
committer | janw <janw@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 14 Apr 2008 10:35:17 +0000 (10:35 +0000) |
Corrected dependency check.
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@10409 594d385d-05f5-0310-b6e9-bd551577e9d8
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@10409 594d385d-05f5-0310-b6e9-bd551577e9d8
gosa-core/update-gosa | patch | blob | history |
diff --git a/gosa-core/update-gosa b/gosa-core/update-gosa
index def413976a75c5dd2cca0c3457eaede9f750e475..76693ce920af2c56dc237e0e946492380b6a3a91 100755 (executable)
--- a/gosa-core/update-gosa
+++ b/gosa-core/update-gosa
$plugin= &$tmp['gosa-plugin'];
if (isset($plugin['name'])&& isset($plugin['description'])){
$res= $plugin['name'];
- $provides[$res]= $plugin[$res];
$description[$res]= $plugin['description'];
$versions[$res]= $plugin['version'];
+ if (isset($plugin['provides'])){
+ $provides[$res]= explode(',', preg_replace('/\s+/', '', $plugin['provides']));
+ }
if (isset($plugin['depends'])){
$depends[$res]= explode(',', preg_replace('/\s+/', '', $plugin['depends']));
}
foreach ($depends as $name => $pl_depends){
foreach ($pl_depends as $pl){
- if (!in_array($pl, $provides)){
+ if (!is_provided($pl, $provides)){
echo "! Error: plugin '$name' depends on '$pl' which is not provided by any plugin\n\n";
exit (1);
}
}
+function is_provided($dependency)
+{
+ global $provides;
+
+ $result= FALSE;
+ foreach ($provides as $name => $pl_provides){
+ if(in_array($dependency, $pl_provides)) {
+ $result= TRUE;
+ continue;
+ }
+ }
+
+ return $result;
+}
+
+
function load_plugins()
{
if (!is_dir(PLUGSTATE_DIR)){