X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Fupdate-gosa;h=616817d12eeec87b3f9fb5bde381405a22dc6e99;hb=3d095eea8d2c409ca0cd3b803a4518d7a6144fed;hp=9d3b2738dfbb6e0f6a07b12f02af23a60f7def49;hpb=cd14033a90e07b37860a4932c5ccbbc5d85e342c;p=gosa.git diff --git a/gosa-core/update-gosa b/gosa-core/update-gosa index 9d3b2738d..616817d12 100755 --- a/gosa-core/update-gosa +++ b/gosa-core/update-gosa @@ -1,5 +1,25 @@ #!/usr/bin/php5 \n". + "\n\n". + "\n\n". + "\n". + "\n"; + + $guide= 'doc/core/guide.xml'; + if(file_exists($guide) && is_readable($guide)) { + $master_guide_content.= file_get_contents($guide); + } + + $plugins= scandir('doc/plugins'); + foreach($plugins as $key => $plugin) { + if($plugin != '.' && $plugin != '..') { + if(is_dir('doc/plugins/'.$plugin)) { + $guide= 'doc/plugins/'.$plugin.'/guide.xml'; + if(file_exists($guide) && is_readable($guide)) { + $master_guide_content.= file_get_contents($guide); + } + } + } + } + + $master_guide_content.= ""; + + $master_guide_content= preg_replace("/[ \t][ \t]*/", " ", $master_guide_content); + + if(is_writable($master_guide)) { + file_put_contents($master_guide, $master_guide_content); + } + +} + + function parse_ini($file) { global $description, $provides, $depends, $versions, $conflicts; @@ -290,7 +364,14 @@ function install_plugin($file) /* Check if dependencies are fullfilled */ foreach ($depends as $dep){ - if (!in_array($dep, $provides)){ + $found= false; + foreach ($provides as $provide => $dummy){ + if ($dep == $provide){ + $found= true; + break; + } + } + if (!$found){ echo "! Error: plugin depends on '$dep', but this is not installed\n\n"; exit (3); } @@ -370,6 +451,7 @@ function install_plugin($file) /* Update caches */ rescan_classes(); rescan_i18n(); + rescan_guide(); } @@ -388,7 +470,7 @@ function remove_plugin($name) /* Depends? */ foreach ($depends as $sname => $pl_depends){ - if (!in_array($name, $pl_depends)){ + if (in_array($name, $pl_depends)){ echo "! Error: plugin '$sname' depends on '$name' - cannot remove it\n\n"; exit (1); } @@ -427,6 +509,7 @@ function remove_plugin($name) /* Update caches */ rescan_classes(); rescan_i18n(); + rescan_guide(); } @@ -438,6 +521,7 @@ $description= $provides= $depends= $versions= $conflicts= array(); if ($argc < 2){ rescan_classes(); rescan_i18n(); + rescan_guide(); exit (0); }