X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Fupdate-gosa;h=616817d12eeec87b3f9fb5bde381405a22dc6e99;hb=140a2c5fec662a71ff9c370cb50fc566259dcb52;hp=de343937cd9aa74e1a39fdcfa2dfc2e90e383213;hpb=7ae2da9e21e5148385a41863bdbf64dcb182cd55;p=gosa.git diff --git a/gosa-core/update-gosa b/gosa-core/update-gosa index de343937c..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,12 +451,13 @@ function install_plugin($file) /* Update caches */ rescan_classes(); rescan_i18n(); + rescan_guide(); } function remove_plugin($name) { - global $description; + global $description, $depends; /* Load plugin list */ load_plugins(); @@ -386,6 +468,14 @@ function remove_plugin($name) exit (1); } + /* Depends? */ + foreach ($depends as $sname => $pl_depends){ + if (in_array($name, $pl_depends)){ + echo "! Error: plugin '$sname' depends on '$name' - cannot remove it\n\n"; + exit (1); + } + } + /* Load information */ if (!file_exists(PLUGSTATE_DIR."/$name/plugin.lst")){ echo "! Error: cannot remove plugin '$name' - no install history found\n\n"; @@ -419,6 +509,7 @@ function remove_plugin($name) /* Update caches */ rescan_classes(); rescan_i18n(); + rescan_guide(); } @@ -430,6 +521,7 @@ $description= $provides= $depends= $versions= $conflicts= array(); if ($argc < 2){ rescan_classes(); rescan_i18n(); + rescan_guide(); exit (0); }